12650

Вирішення оптимізаційних завдань в пакеті MATHCAD

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота №5 Вирішення оптимізаційних завдань в пакеті MATHCAD Мета роботи: навчитись вирішувати оптимізаційні завдання в пакеті MATHCAD Завдання: опрацювати наведені приклади скласти звіт. Оптимізаційні завдання можна розділити на два класи: завдання без...

Украинкский

2013-05-02

127 KB

10 чел.

Лабораторна робота №5

Вирішення оптимізаційних завдань в пакеті MATHCAD

Мета роботи: навчитись вирішувати оптимізаційні завдання в пакеті MATHCAD

Завдання: опрацювати наведені приклади , скласти звіт.

Оптимізаційні завдання можна розділити на два класи:

завдання безумовної оптимізації (або оптимізація без обмежень).

завдання умовної оптимізації (оптимізація з обмеженнями).

Друге завдання відрізняється від першої тим, що рішення шукається лише серед допустимих значень або, інакше, на допустимій безлічі значень змінних завдання, які  задовольняють  заданим обмеженням.

 

Вирішення оптимізаційних завдань без обмежень

 

Для цього використовуються дві функції MATHCAD:

 

·      Maximize(f,<список параметрів>) – обчислення точки максимуму;

·      Minimize(f,<список параметрів>) – обчислення точки мінімуму

                       де f – ім'я функціонала, що мінімізується, визначеного до звернення до функції; <список параметрів> – містить перерахування (через кому) імен параметрів, відносно яких вирішується оптимізаційне завдання.

 

Увага! Перед зверненням до функцій Maximize, Minimize (імена яких починаються прописними буквами) слід обов'язково задати початкове значення параметрів оптимізації.

 

Приклад. Даний функціонал:

Визначити значення x, в, z, при яких g(x, в, z) досягає мінімального значення.

Приклад. Даний функціонал:

Визначити значення u, v, при яких f(u,v) досягає максимального значення.

Завдання. Даний функціонал:

.

Визначити точки мінімуму і максимуму цього функціонала.

 

Вирішення оптимізаційних завдань з обмеженнями

 

Використовуються ті ж функції Maximize, Minimize, але вони входять вже в блок вирішення Given і перед ними розміщуються обмеження у вигляді рівності або нерівностей, що визначають допустиму область значень параметрів оптимізації.

Приклад. Даний функціонал   і обмеження у вигляді

Визначити значення а, b, що доставляють максимальне значення функціонала і що задовольняють нерівностям.

Зауваження. У оптимізаційних завданнях з обмеженнями рішення доцільно визначати з необхідних умов екстремуму. Ці умови породжують систему рівнянь (найчастіше нелінійних), які розташовуються в блоці Given, разом з обмеженнями, що визначають допустиму область. Само рішення шукається за допомогою функцій Find, Minerr.

 

Приклад. Як тестовий функціонал при пошуку точки мінімуму часто використовується функціонал Розенброка:

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

Приклад (завдання лінійного програмування). Цех малого підприємства повинен виготовити 100 виробів трьох типів  і не менше 20 штук виробів кожного типа. На вироби вирушає 4, 3.4 і 2 кг металу відповідно, при його загальному запасі 340 кг, а також витрачаються по 4.75, 11 і 2 кг пластмаси, при її загальному запасі 400 кг Прибуток, отриманий від кожного виробу рівна 4, 3 і 2 рублів.

Визначити скільки виробів кожного типа необхідно випустити, для здобуття максимального прибутку в рамках встановлених запасів металу і пластмаси.

Приклад 9.2.4 (завдання нелінійного програмування). Хай вектор v складається з трьох проекцій і даний функціонал:

Обчислити точку мінімуму цього функціонала при обмеженнях:

Завдання 9.2.1 (завдання лінійного програмування). Даний функціонал:

.

Визначити точку максимуму цього функціонала при обмеженнях:

Визначsnm значення функціонала в цій крапці.

Відповідь:

максимум функціонала досягається в крапці (0, 13, 8).

 

Завдання (завдання квадратичного програмування). Даний функціонал:

Визначити точку максимуму цього функціонала при обмеженнях:

Відповідь:

максимум функціонала досягається в крапці (7.5, 10, 6).?