Дата зміни інформації:

Іщук А.А. “Розв’язування багатокритеріальних задач оптимізації за допомогою інформаційно-комунікаційні технології”

Іщук А.А., аспірант

Національний педагогічний університет імені М.П. Драгоманова

У зв’язку з активним впровадженням сучасних технологій та розвитком інтелектуальних систем підтримки управлінських рішень в усі галузі життя все більшої актуальності набувають задачі багатокритеріальні оптимізації. Дослідження в галузі багатокритеріальної оптимізації в даний час особливо інтенсивно стимулюються практичними потребами і розвитком комп’ютерних інформаційних технологій. Вагомий вклад у розвиток багатокритеріальної оптимізації в Україні внесли: М.І. Жалдак, Ю.В. Триус, І.В. Сергієнко, В.С. Міхалєвич, Н.З. Шор, В.А. Трубін, Ю.Ю. Червак, В.А. Перепелиця, Н.В. Семенова та інші вчені.

Загальна математична постановка задачі багатокритеріальної оптимізації з однією змінною являє собою задачу максимізації (або мінімізації) заданої функції  або  де   .

В умовах широкого використання інформаційних технологій для розв’язування задач математичного програмування як правило використовують комп’ютер з відповідним програмним забезпеченням. Розглянемо задачу багатокритеріальної оптимізації «Задача про дієту» за допомогою MS Excel та одного з найбільш поширених методів розв’язування – метод поступок.

Приклад «Задача про дієту».

В задачі відомо основні продукти: хліб, м’ясо, сир, банани, огірки, помідори, виноград ( ), в якості поживних речовин розглянемо білки, жири, вуглеводи ( ). Калорійність однієї одиниці кожного із продуктів наступна: . Вартість однієї одиниці кожного із продуктів наступна:

Показники вміст поживних речовин в кожному із продуктів можуть бути подані через таблицю 1.

Таблиця 1.

Продукти/

поживні речовини

хліб М’ясо баранина Сир Банани Огірки Помідори Виноград
Білки 61 220 230 15 8 11 6
Жири 12 172 290 1 1 2 2
Вуглеводи 420 0 0 212 26 38 155

Мінімальна добова потреба в поживних речовинах: в білках  в жирах , у вуглеводах . Потрібно знайти оптимальну добову норму поживних речовин тому, щоб калорійність і вартість раціону були мінімальними.

Припустимо, що перша цільова функція (ЦФ) є важливішою, ніж наступна. Величина поступок буде задана після знаходження оптимального значення цільової функції. Математична модель задачі:

Розвязування даної задачі багатокритеріальної оптимізації за методом поступок буде здійснюватися протягом 2 етапів. На першому етапі необхідно розв’язати звичайну задачу оптимізації, використовуючи ЦФ як критеріальну функцію.

При запуску програмного засобу MS Excel відкривається робоча книга, що складається з робочих аркушів.  Кожен робочий аркуш містить в собі сітку, на якій можна створювати таблиці (рис. 1).  Отже:

  1. До клітинок A1:J1, A2:A8, B5, I5, J5 запишемо необхідні надписи.
  2. До клітинок В3:Н3 запишемо значення коефіцієнтів першої ЦФ: .

Рис. 1.

До клітинок В4:Н4 запишемо значення коефіцієнтів другої ЦФ:

  1. До клітинки І2 запишемо формулу: =СУММПРОИЗВ($В$2:$Н$2;$В$3:$Н$3), через яку визначається перша ЦФ.
  2. До клітинки J2 запишемо формулу: =СУММПРОИЗВ($В$2:$Н$2;$В$4:$Н$4), через яку визначається друга ЦФ.
  3. До клітинок В6:Н8 запишемо значення коефіцієнтів обмежень із таблиці 1.
  4. До клітинок J6:J8 запишемо значення правих частин обмежень, що відповідають мінімальним добовим потребам в поживних речовинах: в білках в жирах , у вуглеводах .
  5. В клітинку І6 введемо формулу: =СУММПРОИЗВ($В$2:$Н$2;В6:Н6), через яку визначається ліва частина першого обмеження.
  6. Скопіюємо формулу, введену до клітинки І6, до клітинки І7 та І8.

Загальний вигляд робочого аркушу в MS Excel з початковими даними для розв’язування задачі про дієту за методом поступок зображено на рис. 1.

Далі потрібно звернутися до послуг Сервіс/ Пошук розв’язку, після чого з’явиться допоміжне вікно, в якому необхідно вказати наступне:

  • в полі “Оптимізувати значення цільової функції” вказати адресу клітинки, де міститимуться результати обчислення значень ЦФ – $І$2;
  • в полі “До”: вибираємо перемикач “Мінімум”;
  • в полі “Змінюючи значення змінних в клітинках” вказуємо діапазон клітин $В$2:$Н$2 (рис. 2);
  • В водимо обмеження на Значення змінних в розділі “У відповідності з обмеженнями”. Для цього необхідно натиснути кнопку “Додати”, після чого відкривається допоміжне вікно “Додавання обмеження” (рис. 3):
    • потрібно обрати клітинку $І$6, яка відобразиться в полі “Посилання на клітинки” і обрати з із запропонованого списку знак>=“;
    • для обмеження правої частини рівності потрібно обрати клітинку $J$6;
    • натиснути кнопку додати;
    • аналогічно додаємо обмеження $І$7>=$J$7; $І$8>=$J$8;
    • обрати діапазон клітинок $B$2:$H$2, що відобразиться в полі “Посилання на клітинки” і обрати з із запропонованого списку знак>=0″.

    Після натиснення кнопки Знайти розв’язок (див. рис. 4) з’являються результати обчислень.

    Рис. 4.

    Результатом розв’язування багатокритеріальної задачі про оптимальну дієту на першому етапі є знаходження оптимального значення першої цільової функції – . Отримавши результати розв’язування задачі, можна сказати, що загальна калорійність дієти буде наближатися до 2590 ккал, причому вартість даної дієти складатиме 83 грн 94 коп.

    Отже, для розв’язування задач багатокритеріальної оптимізації потрібні, перш за все, вміння аналізувати умову задачі, розкриваючи зв’язки між величинами; складати математичні моделі, описи проявів явищ чи перебігу процесів, що розглядаються; правильно інтерпретувати отримані результати аналізу побудованої математичної моделі відповідно до специфіки явища чи процесу, що описані в умові даної задачі.

    Список використаних джерел

    1. Волошин О.Ф., Мащенко С.О. Теорія прийняття рішень: Навчальний посібник. – К.: Видавничо-поліграфічний центр «Київський університет», 2006. – 304 с.
    2. Жалдак М. І. Основи теорії і методів оптимізації: навчальний посібник / М. І. Жалдак, Ю. В. Триус. – Черкаси: Брама-Україна, 2005. —  608 с.
    3. Зайченко Ю.П. Исследование операций. Нечеткая оптимизация: Учеб. пособие. – К.: ВШ, 1991. – 198 с.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Введіть цифри, що зображені у квадратах *