і при цьому мінімізувати собівартість сировини?
Рішення:
Перед тим, як приступити до вирішення задачі багатокритеріальної оптимізації, нам слід було б чітко сформулювати завдання і записати в більш зручному вигляді.
І так, введемо такі позначення:
- ББ-крем
- СС-крем
- пінка для вмивання
- очищає масло
- тонер
- ампульне есенція
- емульсія
- крем гель
- крем для тіла
- крем для чоловіків
- крем для дітей
- сонцезахисний крем
Обмеження:
. На сировину:
+10? 61500
+ 30 + 30 + 25 + 50 + 5 + 20 + 90 + 100 + 40 + 30 + 30? 776000
+ 5 + 10 + 25 + 10 + 5 + 10 + 50 + 45 + 40 + 20 + 20? 368000
+ 10 + 60 + 60 + 15 + 80 + 20 + 20 + 10 + 10 + 5? 521 000
+ 5 + 10 + 20 + 10 + 5 + 10 + 30 + 10 + 5 + 5 + 15? 2145000
+ 5 + 5 + 10? 49500
+ 50 + 25 + 20 + 10? 256000
. На замовлень:
Цільові функції:
. Максимізація прибутку:
. Мінімізація собівартості сировини:
Щоб знайти собівартість сировини (), ми повинні перемножувати вартість однієї одиниці ресурсу (на кількість використаних ресурсів для кожного виду продукції ():
Після розрахунку ми отримаємо наступну цільову функцію:
Тепер ми можемо приступити до вирішення завдання в середовищі MATLAB за допомогою генетичних алгоритмів.
Спочатку потрібно поставити саму задачу, для цього ми вибираємо вкладку «Home»? «New»? «Function».
Описуємо функції і дамо їй назву:
f=nature (x) (1)=- 75 * x (1) - 74 * x (2) - 80 * x (3) - 155 * x (4) - 158 * x (5) - 48 * x (6) - 159 * x (7) - 204 * x (8) - 185 * x (9) - 108 * x (10) - 75 * x (11) - 78 * x ( 12); (2)=60*x(1)+59*x(2)+65*x(3)+140*x(4)+143*x(5)+33*x(6)+144*x(7)+189*x(8)+170*x(9)+93*x(10)+60*x(11)+63*x(12);
Другу цільову функцію ми помножили на (- 1) і поміняли на протилежні знаки.
Функція буде мати такий вигляд:
рис.3.16. Цільові функції в середовищі MATLAB
Тепер зберігаємо і переходимо до наступного етапу. Відкриваємо вкладку «Apps»? «Optimization»? «Solver»? «Gamultiobj - Multiobjective optimization using Genetic Algorithm».
рис.3.17. Вкладка Optimization Tool
Пропишемо цільову функцію у вкладці «Fitness function» -nature, у рядку «Number of variables» записуємо кількість змінних, вони у нас
. Далі заповнюємо поля Linear inequalities значеннями лінійних обмежень (нерівностей), які є у нас в умови задачі:
=[15 10 0 0 0 0 0 0 0 0 0 0; 25 30 30 25 50 5 20 90 100 40 30 30; 5 5 10 25 10 5 10 50 45 40 20 20; 10 10 0 60 60 15 80 20 20 10 10 5; 5 5 10 20 10 5 10 30 10 5 5 15; 5 5 0 5 0 0 0 10 0 0 0 0; 0 0 60 0 0 0 0 50 25 20 0 10;- 75 - 74 - 80 - 155 0 0 0 0 0 0 0 0; 0 0 0 0 - 158 - 48 - 159 0 0 0 0 - 78; 0 0 0 0 0 0 0 - 204 - 185 - 108 - 75 0]=[61500; 776000; 368000; 521 000; 840500; 49500; 256000;- 10000;- 9500;- 12000]
Нижні межі «Bounds: Lower»=[0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0]
Призначимо розмір популяції: 1
Після виконаних кроків, вибираємо «Start» і отримаємо наступні результати:
ріс.3.18. Остаточний результат рішення в середовищі MATLAB
Завдання вирішена за 102 ітерації. Багатокритерійна оптимізація згодна генетичного алгоритму дали нам наступні результати: продукцію першому виду потрібно провести в обсязі 18 одиниць, друга виду в обсязі 17 одиниць, 3-ого - 19 одиниць, четвертий - 36 одиниць, п'ятий - 25 одиниць, другий - 7 одиниць, сьомий - 25 одиниць, восьмий - 26 одиниць, дев'ятий - 24 одиниць, десятого - 13 одиниць, одинадцятого - 9 одиниць, дванадцятий - 13 одиниць. При цьому забезпечується максимальна виручка в розмірі 31500,008? і мінімальну вартість у розмірі 27917,294?.
. 3 Рішення економічної задачі багатокритеріальної оптимізації за допомогою MS Excel
Розглянемо рішення цієї задачі за допомогою різних методів розв'язання багатокритеріальних задач, які ми розглядали у другому розділі даної роботи. Для обчислення, ми скористаємося стандартною програмою пошуку рішення в MS Excel.
3.3.1 Метод послідовних поступок
З двох наведених критерій, ми максимізували перший, найбільш важливий критерій, потім призначаємо величину допустимого зниження значення цього критерію. В даному випадку, розмір поступка дорівнює 2...