Багатокритеріальний вибір. Визначення оптимальних альтернатив за Парето та Слейтером

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Математичні методи дослідження операцій

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра САП Звіт про виконання лабораторної роботи № 1 на тему: «Багатокритеріальний вибір. Визначення оптимальних альтернатив за Парето та Слейтером» з дисципліни «Математичні методи дослідження операцій» Варіант 11 Львів-2024 Мета роботи: ознайомитись з поняттями оптимальності за Парето та за Слейтером при багатокритеріальному виборі [1-3;6;7]. Хід роботи Завдання 1. Для кожного рядка (1-3) за варіантом («Додаток А») побудувати таблицю значень альтернатив (A1-A20) в області критеріїв (Q1, Q2), де значення за першим критерієм відповідають першій цифрі числа, за другим критерієм – другій цифрі числа. Аналітично та графічно визначити множину оптимальних рішень за Парето та за Слейтером (6 рисунків). / рис.1 Додаток А 1. Побудуємо значення альтернатив в області критеріїв для кожного рядка (Q1, Q2). Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 1 3 6 6 2 9 7 4 3 6 8 9 9 9 5 1 2 5  Q2 0 9 7 9 9 3 2 4 3 7 1 2 2 0 2 1 7 5 1 7  табл.1.1 значення альтернатив в області критеріїв для першого рядка Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 4 5 3 2 3 4 5 3 9 2 8 1 1 0 3 3 9 0  Q2 4 1 7 1 1 1 7 0 4 0 8 5 1 6 6 2 1 9 6 4  табл.1.2 значення альтернатив в області критеріїв для другого рядка Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 3  8 1 2 7 6 1 7 7 8 3 0 7 8 0 5 5 4 9 1  Q2 8 0 8 1 0 2 2 9 7 5 6 4 6 3 7 9 7 4 9 1  табл.1.3 значення альтернатив в області критеріїв для третього рядка 2. Визначимо аналітично та графічно множину оптимальних рішень за Парето та за Слейтером. Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 1 3 6 6 2 9 7 4 3 6 8 9 9 9 5 1 2 5  Q2 0 9 7 9 9 3 2 4 3 7 1 2 2 0 2 1 7 5 1 7  Парето A2  A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2  Слейтер A2  A2   A2 A2  A2 A2 A2 A2 A2    A2 A2 A2 A2  табл.1.4 аналітично визначена множина для першого рядка Множина оптимальних значень за Парето: А2. Множина оптимальних значень за Слейтером: А2, А4, A5, A8, A14, A15, A16. / / рис.1.1 Границя Парето рис.1.2 Границя Слейтера Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 4 5 3 2 3 4 5 3 9 2 8 1 1 0 3 3 9 0  Q2 4 1 7 1 1 1 7 0 4 0 8 5 1 6 6 2 1 9 6 4  Парето A11 A11 A11 A1 A1 A1 A3 A1 A1 A1  A3 A2 A3 A3 A16 A1  A11 A1  Слейтер A11  A11 A1 A1 A1 A11 A1 A11 A1  A3 A11 A3 A3 A1 A1   A3  табл.1.5 аналітично визначена множина для другого рядка Множина оптимальних значень за Парето: А11, A18. Множина оптимальних значень за Слейтером: А2, A11, A18, A19. / / рис.1.3 Границя Парето рис.1.4 Границя Слейтера Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 3  8 1 2 7 6 1 7 7 8 3 0 7 8 0 5 5 4 9 1  Q2 8 0 8 1 0 2 2 9 7 5 6 4 6 3 7 9 7 4 9 1  Парето A8 A10 A1 A1 A2 A8 A1 A19 A19 A19 A1 A1 A8 A19 A1 A8 A8 A8  A1  Слейтер A8 A19 A8 A1 A10 A8 A1  A10 A19 A8 A1 A19 A19 A1  A8 A8  A1  табл.1.6 аналітично визначена множина для третього рядка Множина оптимальних значень за Парето: А19. Множина оптимальних значень за Слейтером: А8, А16, A19. / / рис.1.5 Границя Парето рис.1.6 Границя Слейтера Завдання 2. Для рядка, що складається з рядків 1-3 («Додаток А») за варіантом, побудувати таблицю значень альтернатив (A1-A60) в області критеріїв (Q1, Q2), де значення за першим критерієм відповідають першій цифрі числа, за другим критерієм – другій цифрі числа. Аналітично та графічно визначити множину оптимальних рішень за Парето та за Слейтером (2 рисунки). 1. Побудуємо значення альтернатив в області критеріїв для кожного рядка (Q1, Q2). Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 1 3 6 6 2 9 7 4 3 6 8 9 9 9 5 1 2 5  Q2 0 9 7 9 9 3 2 4 3 7 1 2 2 0 2 1 7 5 1 7   A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A40  Q1 7 9 4 5 3 2 3 4 5 3 9 2 8 1 1 0 3 3 9 0  Q2 4 1 7 1 1 1 7 0 4 0 8 5 1 6 6 2 1 9 6 4   A41 A42 A43 A44 A45 A46 A47 A48 A49 A50 A51 A52 A53 A54 A55 A56 A57 A58 A59 A60  Q1 3 8 1 2 7 6 1 7 7 8 3 0 7 8 0 5 5 4 9 1  Q2 8 0 8 1 0 2 2 9 7 5 6 4 6 3 7 9 7 4 9 1  табл.2.1 значення альтернатив в області критеріїв для першого рядка 2. Визначимо аналітично та графічно множину оптимальних рішень за Парето та за Слейтером. Критерії Альтернативи   A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  Q1 7 9 1 3 6 6 2 9 7 4 3 6 8 9 9 9 5 1 2 5  Q2 0 9 7 9 9 3 2 4 3 7 1 2 2 0 2 1 7 5 1 7  Парето A2  A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2  Слейтер A2  A2   A2 A2  A2 A2 A2 A2 A2    A2 A2 A2 A2   A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A40  Q1 7 9 4 5 3 2 3 4 5 3 9 2 8 1 1 0 3 3 9 0  Q2 4 1 7 1 1 1 7 0 4 0 8 5 1 6 6 2 1 9 6 4  Парето A2 A2 A2 A2 A2 A2 A2 A2 A2 A1 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2  Слейтер A2  A2 A2 A2 A2 A2 A2 A2 A2  A2 A2 A2 A2 A2 A2   A2   A41 A42 A43 A44 A45 A46 A47 A48 A49 A50 A51 A52 A53 A54 A55 A56 A57 A58 A59 A60  Q1 3 8 1 2 7 6 1 7 7 8 3 0 7 8 0 5 5 4 9 1  Q2 8 0 8 1 0 2 2 9 7 5 6 4 6 3 7 9 7 4 9 1  Парето A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2  A2  Слейтер A2 A2 A2 A2 A2 A2 A2  A2 A2 A2 A2 A2 A2 A2  A2 A2  A2  табл.2.2 значення альтернатив в області критеріїв Множина оптимальних значень за Парето: А2=А59. Множина оптимальних значень за Слейтером: А2, A4, A5, A8, A14, A15, A16, A22, A31, A38, A39, A48, A56, A59. / / рис.2.1 Границя Парето рис.2.2 Границя Слейтера Завдання 3. Написати програми для обчислення множини оптимальних рішень за Парето та за Слейтером. 1. Код програми на мові Python для обчислення множини оптимальних рішень за Парето. def pareto_optimal_solutions(numbers): pareto_points = [] decision_index = [] for i in range(len(numbers)): current_number = numbers[i] q1 = current_number // 10 # отримуємо першу цифру q2 = current_number % 10 # отримуємо другу цифру is_pareto = True for j in range(len(numbers)): if i != j: compare_number = numbers[j] compare_q1 = compare_number // 10 compare_q2 = compare_number % 10 # Перевіряємо, чи є поточне число гірше за порівнянне по обох критеріях if q1 <= compare_q1 and q2 <= compare_q2: is_pareto = False break if is_pareto: pareto_points.append(current_number) decision_index.append(i + 1) return [f"A{num}: {pareto_points[index]}" for num, index in zip(decision_index, range(len(decision_index)))] decision_matrix_first = [ 70, 99, 17, 39, 69, 63, 22, 94, 73, 47, 31, 62, 82, 90, 91, 92, 57, 15, 21, 57 ] decision_matrix_second = [ 74, 91, 47, 51, 31, 21, 37, 40, 54, 30, 98, 25, 81, 16, 16, 2, 31, 39, 96, 4 ] decision_matrix_third = [ 38, 80, 18, 21, 70, 62, 12, 79, 77, 85, 36, 4, 76, 83, 7, 59, 57, 44, 99, 11 ] pare_numbers1 = pareto_optimal_solutions(decision_matrix_first) print("Множина оптимальних значень за Парето:", pare_numbers1) pare_numbers2 = pareto_optimal_solutions(decision_matrix_second) print("Множина оптимальних значень за Парето:", pare_numbers2) pare_numbers3 = pareto_optimal_solutions(decision_matrix_third) print("Множина оптимальних значень за Парето:", pare_numbers3) / рис.3.1 результат коду 2. Код програми на мові Python для обчислення множини оптимальних рішень за Слейтером. def slater_optimal_solutions(numbers): slater_points = [] decision_index = [] for i in range(len(numbers)): current_number = numbers[i] q1 = current_number // 10 # отримуємо першу цифру q2 = current_number % 10 # отримуємо другу цифру is_slater = True for j in range(len(numbers)): if i != j: compare_number = numbers[j] compare_q1 = compare_number // 10 compare_q2 = compare_number % 10 # Перевіряємо, чи є поточне число гірше за порівнянне по обох критеріях if q1 < compare_q1 and q2 < compare_q2: is_slater = False break if is_slater: slater_points.append(current_number) decision_index.append(i + 1) return [f"A{num}: {slater_points[index]}" for num, index in zip(decision_index, range(len(decision_index)))] decision_matrix_first = [ 70, 99, 17, 39, 69, 63, 22, 94, 73, 47, 31, 62, 82, 90, 91, 92, 57, 15, 21, 57 ] decision_matrix_second = [ 74, 91, 47, 51, 31, 21, 37, 40, 54, 30, 98, 25, 81, 16, 16, 2, 31, 39, 96, 4 ] decision_matrix_third = [ 38, 80, 18, 21, 70, 62, 12, 79, 77, 85, 36, 4, 76, 83, 7, 59, 57, 44, 99, 11 ] slater_numbers1 = slater_optimal_solutions(decision_matrix_first) print("Множина оптимальних значень за Слейтером:", slater_numbers1) slater_numbers2 = slater_optimal_solutions(decision_matrix_second) print("Множина оптимальних значень за Слейтером:", slater_numbers2) slater_numbers3 = slater_optimal_solutions(decision_matrix_third) print("Множина оптимальних значень за Слейтером:", slater_numbers3) / рис.3.2 результат коду Висновок: під час виконання даної лабораторної роботи ознайомлено з поняттями оптимальності за Парето та за Слейтером при багатокритеріальному виборі [1-3;6;7]; обчислено аналітично і побудовано графічно множини оптимальних рішень за Парето та Слейтером; реалізовано методи Парето та Слейтера програмами на мові програмування Python.
Антиботан аватар за замовчуванням

05.05.2025 00:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!