Skip to main content

decision_making_core 0.1.0 copy "decision_making_core: ^0.1.0" to clipboard
decision_making_core: ^0.1.0 copied to clipboard

Pure Dart multi-criteria decision-making (MCDM) core library implementing AHP, SAW, and TOPSIS algorithms.

example/main.dart

import 'package:decision_making_core/decision_making_core.dart';

void main() {
  print('=== Simple Additive Weighting (SAW) Example ===');

  final alternatives = [
    WeightedDecisionAlternative(id: 'a1', name: 'Vendor 1'),
    WeightedDecisionAlternative(id: 'a2', name: 'Vendor 2'),
  ];

  final criteria = [
    WeightedDecisionCriteria(
      id: 'c1',
      name: 'Cost',
      weightPercent: 40,
      isBenefit: false,
      maxValue: 100,
    ),
    WeightedDecisionCriteria(
      id: 'c2',
      name: 'Quality',
      weightPercent: 60,
      isBenefit: true,
      maxValue: 100,
    ),
  ];

  final matrix = [
    WeightedDecisionMatrix(
      id: 'm1',
      alternative: alternatives[0],
      ratings: [
        WeightedDecisionRating(id: 'r1', criteria: criteria[0], value: 40),
        WeightedDecisionRating(id: 'r2', criteria: criteria[1], value: 80),
      ],
    ),
    WeightedDecisionMatrix(
      id: 'm2',
      alternative: alternatives[1],
      ratings: [
        WeightedDecisionRating(id: 'r3', criteria: criteria[0], value: 60),
        WeightedDecisionRating(id: 'r4', criteria: criteria[1], value: 90),
      ],
    ),
  ];

  final sawResults = SawCalculator.calculate(matrix);
  for (final res in sawResults) {
    print(
        'Rank ${res.rank}: ${res.alternative.name} - Score: ${res.score.toStringAsFixed(4)}');
  }

  print('\n=== TOPSIS Example ===');
  final rawMatrix = TopsisRawMatrix(criterias: criteria, matrixs: matrix);
  final topsisResults = TopsisCalculator.calculate(rawMatrix);
  for (final res in topsisResults) {
    print(
        'Rank ${res.rank}: ${res.alternative.name} - Score: ${res.score.toStringAsFixed(4)}');
  }
}
1
likes
0
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

Pure Dart multi-criteria decision-making (MCDM) core library implementing AHP, SAW, and TOPSIS algorithms.

Repository (GitHub)
View/report issues

Topics

#mcdm #decision-support-system #ahp #topsis

License

unknown (license)

Dependencies

meta

More

Packages that depend on decision_making_core