2297

Система Mathcad. Розв’язування задач оптимізації

Лекция

Математика и математический анализ

Пошук екстремуму функції. Екстремум функції багатьох змінних. Локальний екстремум. Умовний екстремум. Приклад вирішення транспортної задачі в середовищі Mathcad. Зміна чисельного методу. Вікно діалогу Advanced Options.

Украинкский

2013-01-06

92.14 KB

66 чел.

Лекція 12. Система Mathcad. Розв’язування задач оптимізації

План

1. Пошук екстремуму функції.

1.1. Локальний екстремум.

1.2. Умовний екстремум.

1.3. Екстремум функції багатьох змінних.

2. Приклад розв’язування транспортної задачі в середовищі Mathcad.

1. Пошук екстремуму функції

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

Для розв’язування задач пошуку максимуму та мінімуму в системі Mathcad є вбудовані функції Minerr, Minimize и Maximize. Всі вони використовують градієнтні чисельні методи.

Mathcad пропонує три різних градієнтних методи . Щоб змінити чисельний метод, потрібно:

  1.  Клацнути правою кнопкою миші на імері функції Find.
  2.  Навести вказівку миші на пункт Nonlinear( Нелинейный) в контекстному меню.
  3.  В меню, що з'явиться, вибрати один із трьох методів: Conjugate Gradient (Спряжених градієнтів), Quasi-Newton (Квазі-Ньютоновський) або Levenberg (Левенберга).

Рис. 1. Зміна чисельного методу

Щоб повернути автоматичний вибір типу чисельного методу, потрібно в контекстному меню вибрати пункт Autoselect (Автоматичний вибір). Крім вибору самого методу , в Mathcad є можливість встановлювати деякі їх параметри. Для цього потрібно за допомогою того ж контекстного меню викликати вікно діалогу Advanced Options (Додаткові параметри), вибравши для цього пункти Nonlinear/ Advanced Options (Нелінійний/Додаткові параметри).

Рис. 2. Вікно діалогу Advanced Options

В цьому вікні є п’ять груп перемикачів, по два в кожній. В першому рядку Derivative estimation (Аппроксимація похідної) визначаєься метод обчислення похідної Forward (Вперед) або Central (Центральна). Вони відповідають апроксимації похідної або правою, або центральною скінченною різницею. В другому рядку Variable estimation (Апроксимація змінних) можна визначити тип апроксимації рядом Тейлора. Для апроксимації дотичною прямою лінією виберіть перемикач Tangent (Дотична), для більш точної квадратичної апроксимації (параболою) встановіть перемикач Quadratic (Квадратична). Наступна група перемикачів Linear variable check (Перевірка лінійності) дозволяє в специфічних задачах зекономити час обчислень. Якщо нелінійності всіх функцій, що входять в рівняння, мало впливають на значення всіх їх частинних похідних, то потрібно встановити перемикач Yes (Так). В цьому випадку похідні будуть прийняті рівним константам і не будуть обчислюватися на кожному кроці. Але потрібно дуже обережно змінювати параметри чисельних методів і тоді, коли розв’язок не знаходиться при заданих за замовчування параметрах або коли обчислення займають багато часу. Пара перемикачів Multistart (Сканування) задають опцю пошуку глобального або локального мінімуму або максимуму. Якщо встановлений перемикач Yes (Так), Mathcad буде намагатися знайти найбільш глибокий екстремум в області, близькій до початкового наближення. Нарешті, останній перемикач Evolutionary (Эволюційний алгоритм) дозволяє використовувати модифікацію чисельного методу для розв’язування рівнянь, визначених не обов’язково гладкими функціями, якщо його встановити в положення Yes (Так). Правильний вибір чисельного методу та його параметрів може допомогти при розв’язуванні нестандартних задач.

Локальний екстремум.

Пошук екстремуму включає в себе задачі знаходження локального та глобального екстремуму.

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

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

Minimize (f, x1, ... ,хм) — вектор значень аргументів, при яких функція досягає мінімуму;

Maximize (f, х1, ... ,хм) — вектор значень аргументів, при яких функція досягає максимуму;

f (x1, ... , хм,...) — функція;

x1, ... , xм — аргументи, за якими виконується мінімізація (максимізація).

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

Розглянемо приклади обчислення екстремуму функції однієї змінної без додаткових умов. Так як ніякиї додаткових умов не накладається, пошук екстремуму виконується для будь-яких значень.

Приклад 1. Знайти мінімум функції однієї змінної

Приклад 2. Знайти максимум функції однієї змінної

Умовний екстремум

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

Приклад 3. Три приклади пошуку умовного екстремуму функції

Екстремум функції багатьох змінних

Обчислення екстремуму функції багатьох змінних принципово не відрізняється від обчислення екстремуму функції однієї змінної. Тому обмежимося розглядом прикладу знаходження максимуму та мінімуму функції

Приклад 4. Екстремум функції двох змінних

2. Приклад розв’язування транспортної задачі в середовищі Mathcad

Постановка ТЗ

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

Розглянемо постановку ТЗ в загальному вигляді. Нехай маємо m постачальників А1 , А2 ,..., Аm із запасами однорідних вантажів a1 , a2 ,..., am та n споживачів B1 , B2 ,..., Bn з потребами b1 , b2 ,..., bn. Тарифи перевезень вантажів, що можуть виражатись різними показниками (відстань, вартість або час) між постачальниками та споживачами, задані у вигляді матриці

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

Якщо ввести такі позначення: xij - обсяг перевезень вантажів від і-го постачальника до j-го споживача та Z - сумарна вартість перевезень вантажів, то при розв'язанні ТЗ ми повинні мінімізувати вартість перевезень вантажів . 

Матрицю X = (xij ), називають матрицею перевезень.

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

Означення 1. Транспортна задача називається закритою (ЗТЗ), якщо сума запасів вантажів у постачальників дорівнює сумі потреб споживачів, тобто виконується умова .

Необхідна умова розв’язання ТЗ — ТЗ має розв’язок лише тоді, коли вона є закритою.

Означення 2. Транспортна задача називається відкритою (ВТЗ), якщо сума запасів вантажів у постачальників не дорівнює сумі потреб споживачів, тобто виконується умова .

Розглянемо два випадки:

1) якщо сума запасів у постачальника менша, ніж сума потреб споживачів, тобто виконується умова то вводять додаткового фіктивного постачальника із запасами = . Тарифи перевезень (відстані) від цього постачальника до споживачів дорівнюють нулю.

2) якщо сума запасів у постачальника більша, ніж сума потреб споживачів, тобто виконується умова  то вводять додаткового фіктивного споживача із потребами = . Тарифи перевезень (відстані) від цього споживача до постачальників дорівнюють нулю.

Приклад 1. Приклад розв’язування транспортної задачі в середовищі Mathcad.


 

А также другие работы, которые могут Вас заинтересовать

52824. Екологічна конференція «Земля – наш дім» “The Earth is our home” 87 KB
  Today we invite you to our conference. It will be devoted to problems of environmental protection. We all know that our planet is in danger. And the first task of modern people is to save the planet from pollution, contamination and destruction. At the conference our students won't be just students, but ecologists, doctors, managers of big enterprises.
52826. Застосування сучасних прикладних програм і технологій при розв’язуванні задач економічного напрямку 337 KB
  Можливо за допомогою всього лише прикладних програм, що входять до пакета MS Office, розв’язати задачу про те, який кошторис потрібно фірмі закласти сьогодні в новий проект для того, щоб через певний період часу вона отримала від здійснення цього проекту максимальний прибуток? Чи можна в середовищі MS Excel розв’язати проблему оптимального розподілу ресурсів фірми
52827. ЭКОНОМЕТРИКА Методические указания к выполнению контрольной работы для студентов заочной формы обучения 956 KB
  Если работа не принимается к зачету, то она вместе с рецензией возвращается студенту. Студент обязан учесть все замечания и внести их в текст работы или выполнить ее заново
52828. Використання мультимедійних засобів для проведення лекційного заняття з дисципліни «Основи менеджменту та маркетингу» 26.03 MB
  По-перше. Кожен викладач може розробити власний пакет лекцій, який буде максимально адаптований саме для певного кола слухачів. Для створення таких лекцій необхідний лише один персональний компютер, на якому установлено стандартний пакет програм Microsoft Office, a саме стандартна програма Power Point.
52829. Школа бізнесу 37.5 KB
  Мета: Ознайомити дітей з грошовими одиницями інших держав, продовжувати вчити дітей ощадливо ставитися до грошей, економно та раціонально їх використовувати. Пригадати основний закон економіки. Розрізняти першочергові і другорядні потреби. Вправляти в розв’язуванні кросвордів, читанні ребусів; розвивати пам'ять, логічне та образне мислення, творчу уяву, пізнавальні інтереси.
52830. Машини і механізми 200 KB
  Мета. Ознайомити учнів з різними видами машин і механізмів, де і як вони використовуються у виробництві; розвивати мислення, уяву, мовлення, виховувати інтерес до різних видів професій.