Критерій оптимізації - якийсь показник, значення якого визначає якість тестованого набору вхідних параметрів. Чим більше значення критерію оптимізації, тим краще оцінюється результат тестування з даними набором параметрів. Вибір даного показника здійснюється на вкладці "Налаштування", праворуч від поля "Оптимізація".
Критерій оптимізації необхідний тільки для генетичного алгоритму.
Доступні наступні критерії оптимізації:
• Максимальний баланс - показником оптімізірованності є максимальне значення балансу;
• Баланс + максимальна прибутковість - показником є максимальне значення твори балансу напрібильность;
• Баланс + максимальне матожіданіє виграшу - показником є твір балансу на матожіданіє виграшу;
• Баланс + мінімальна просадка - в даному випадку крім значення балансу враховується рівень просадки: (100% - Осідання) * Баланс;
• Баланс + максимальний фактор відновлення - показником є твір балансу на фактор відновлення;
• Баланс + максимальний коефіцієнт Шарпа - показником є твір балансу на коефіцієнт Шарпа;
• Призначений для користувача критерій оптимізації - при виборі даного параметра в якості критерію оптимізації буде враховуватися значення функції OnTester () в радника. Даний параметр дозволяє користувачеві використовувати будь-який власний показник для оптимізації.
В багатокритеріальних задачах, коли з початкової постановки не вдається виділити критерій, переважаючий за важливістю над іншими - головний критерій, досить часто критерії штучно комбінують за допомогою агрегує функції, з параметрами - ваговими коефіцієнтами, котрі призначаються кожним критерієм згідно його відносної важливості. Цей підхід часто називають скаляризації або сверткой векторного критерію .А яка утворюється при цьому параметризрвані функцію, що зводять вихідну многокритериальную завдання до однокритерійним, - узагальненим, агрегованих, глобальним критерієм або суперкритерію. Найбільш широко поширеним видом узагальненого критерію є лінійна згортка, коли глобальний критерій представляється у вигляді суми (іноді твори) приватних критеріїв, помножених на відповідні вагові коефіцієнти.
При застосуванні цього способу певні труднощі викликає правильний вибір вагових коефіцієнтів, проблематична інтерпретація отриманих результатів. Використовувати розглянутий прийом освіти узагальненого критерію має сенс тільки в тих випадках, коли інтерес представляє сума окремих критеріальних функцій. У загальному ж випадку відбувається просто заміна одних невизначеностей іншими, замаскована математичними викладками [2].
Існують також випадки, коли досить проблематично призначити кожному критерію певний ваговий коефіцієнт, що відповідає його важливості відносно інших. Тоді вдаються до пакунку критеріїв де вагові коефіцієнти не відображають відносну важливість критеріїв, а змінюючись в певних межах, сприяють тим самим локалізації точок у множині Парето. При цьому ще більше зростає роль ЛПР, тому що при виборі вагових коефіцієнтів він керується в основному власним досвідом і інтуїцією, що також вимагає від нього певної кваліфікації.
Неодноразово відзначалися помилки і протиріччя, які робить людина при призначенні ваг критеріїв. Досить ґрунтовний огляд різних методів призначення ваг підводить до висновку, що не існує коректних методів вирішення людиною цього завдання. Така поведінка людини при вирішенні багатокритеріальних заду є повторюваним і стійким.
Є результати експериментів, з яких випливає, що людина призначає ваги критеріїв з істотними помилками в порівнянні з об'єктивно відомими, що призначаються ваги суперечать його безпосереднім оцінками альтернатив і т.д. Хоча дискусія про можливість використання ваг в методах прийняття рішень ще триває, отриманих даних вже досить, щоб вважати цю операцію досить складною для ЛПР [4].
Підсумовуючи сказане можна зробити наступний висновок. Метод згорток застосовувався і застосовується найбільш часто, але має труднопреодолімие недоліки [11, 17]:
- не завжди втрата якості за одним критерієм компенсується збільшенням по іншому. «Оптимальне» по згортку рішення може характеризуватися низькою якістю деяких приватних критеріїв і в зв'язку з цим буде неприйнятним;
- не завжди можна задати ваги критеріїв. Найчастіше відома лише порівнянна важливість критеріїв, іноді немає ніякої інформації про важливість;
- результат сильно залежить від переваг ОПР, який найчастіше призначає ваги, виходячи з інтуїтивного уявлення про порівняльну важливість критеріїв;
- величина функції мети, отримана по згортку, не має ніякого фізичного сенсу;
- багаторазовий запуск алгоритму по згортку може давати тільки кілька різних точок Парето (або одну і ту ж) навіть у разі, коли в дійсності цих точок дуже багато;
- даний підхід не здатний генерувати справжні Парето-оптимальні рішення в умовах неопуклих пошукових просторів, що є серйозною перешкодою при вирішенні багатьох практичних завдань.
Отже, для вирішення будь-якої багатокритеріальної задачі необхідно враховувати відомості про відносну важливість окремих критеріїв.
У деяких багатокритеріальних задачах приватні критерії строго впорядковані за важливістю так, що слід домагатися збільшення більш важливого критерію за рахунок будь-яких втрат за всіма іншими менш важливим критеріям. Але в більшості випадків виникає ситуація, коли виділити головний або впорядкувати критерії за важливістю не вдається. Тоді часто вдаються до пакунку критеріїв в узагальнений критерій. Застосування даного підходу до формування безлічі Парето, також як методів послідовних поступок і виділення основного приватного критерію, пов'язане з рядом виникають при цьому труднощів, що ставить питання про доцільність використання подібних підходів і необхідності розробки методів, позбавлених їх недоліків.
До того ж, характерною рисою, яка об'єднує 3 розглянутих підходу, є те, що в кожному з них завдання багатокритеріальної оптимізації зводиться до однієї або декількох завдань однокритерійним оптимізації.
Таким чином, втрачається суть розв'язуваної задачі, її відмінна риса - одночасний облік багатьох критеріїв. А самі методи повинні працювати багаторазово, щоб згенерувати безліч точок Парето з тим, щоб далі виконати оцінку рішення, значно збільшуючи витрачаються при цьому обчислювальні ресурси.
17. Лінійне програмування
Постановка завдання лінійного програмування.
Родоначальником лінійного програмування вважають д-ра фіз.-мат. наук, лауреата Державної і Нобелівської премій Л.В. Канторовича, який в 30-і роки XX століття запропонував метод вирішення економічних завдань (зокрема, завдання розкрою фанери). Л.В. Канторович розробив метод дозволяють множників для вирішення задачі лінійного програмування.
В подальшому, в 50-і рр. XX ст. незалежно від Канторовича метод вирішення задачі лінійного програмування (так званий симплекс-метод) був розвинений американським математиком Дж. Данцигом, який в 1951 р і ввів термін «лінійне програмування».
Слово «програмування» пояснюється тим, що невідомі змінні, які відшукуються в процесі виконання завдання, зазвичай визначають програму (план) дій деякого об'єкту, наприклад, промислового підприємства. Слово «лінійне» відображає лінійну залежність між змінними.
Наведемо простий приклад завдання лінійного програмування.
Припустимо, що в трьох цехах (Ц1, Ц2, ЦЗ) виготовляється два види виробів И1 і И2. Відома завантаження кожного цеху аi (оцінюється в даному випадку у відсотках) при виготовленні кожного з виробів і прибуток (або ціна, обсяг реалізованої продукції в рублях) сi від реалізації виробів. Потрібно визначити, скільки виробів кожного виду слід виробляти при можливо більш повному завантаженні цехів, щоб отримати за розглянутий плановий період максимальний прибуток або максимальний обсяг реалізованої продукції.
Таку ситуацію зручно відобразити в таблиці, яка підказує характерну для задач математичного програмування форму подання завдання, т. Е. Цільову функцію (в даному випадку визначальну максимізацію прибутку або обсягу реалізованої продукції)
і ряд обмежень (в даному випадку диктуються можливостями цехів, тобто їх граничної 100% -ної завантаженням)
5 х1 + 4х2 ≤ 100;
1.6 х1 + 17.4 х2 ≤ 100; (2)
2.9 х1 + 5.8 х2 ≤ 100.