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.


 

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

53839. Космічна мандрівка. Відкритий урок у початковій школі. Інтегрований урок з природознавства і математики (4 клас) 63.5 KB
  Це найближча до Сонця планета її відстань до Сонця змінюється від 46 до 70 млн. Це найшвидша планета адже за рік вона оббігає навколо Сонця аж 4рази. А дізнатися що ближче до Сонця: Земля чи Меркурій і на скільки ви зможете розвязавши задачу: Відстань від Сонця до Землі в средньому 150 млн.км а від Сонця до Меркурія 58 млн.
53840. Закрепление изученного материала. Сложение и вычитание в пределах 100 43.5 KB
  Оборудование: Интерактивная доска презентация учебник цепочка чисел. 9 7 = 16 о 30 4 = 34 а 60 20 = 80 у 70 1 = 69 б 12 7 = 5 р 28 20 = 8 и 96 1 = 97 т 8 6 = 14 н Чему равна сумма чисел 9 и 7 16 Чему равна сумма чисел 60 и 20 80 Чему равна разность чисел 12 и 7 5 Чему равна сумма чисел 96 и 1 97...
53841. Адресовані людям вірші – найщиріший у світі лист, присвяченої творчості Ліни Костенко 108.5 KB
  Обладнання: мультимедійна апаратура портрет Ліни Костенко виставка книг поетеси плакати з висловами: Не забувайте незабутнє І не знецінюйте коштовне Не загубіться у юрбі. Костенко Не бійся прикрого рядка Прозрінь не бійсябо вони як піки Не бійся правди хоч яка гірка Не бійся смутків хоч вони як ріки. Костенко Творчість Ліни Костенко приклад шляхетного служіння поезії.
53842. Анализ финансово-хозяйственной деятельности предприятия, классификация задач анализа 28.5 KB
  Анализ финансово-хозяйственную деятельность предприятия входит в число основных направлений деятельности финансового менеджера. Он формирует объективную основу успешного управления финансами организации.
53843. Коти – пухнасті улюбленці людей. Історія одомашнювання кішки. Породи котів 150.5 KB
  Історія одомашнювання кішки. Кішки Діти а у кого дома є кішечка або котик Розповіді дітей про своїх улюбленців. Історичні відомості з одомашнювання кішки розповідь учителя. Діти а чи знаєте ви що протягом багатьох століть кішки вважалися тваринами загадковими таємничими повязаними з надприродними силами.
53844. Сценарій виховного заходу за темою: «Наша мрія крилата – стати справжніми козачатами» 72 KB
  Не сумуйте гори й ріки Не журиться мами: Коли виростем великі Будем козаками Приспів: Гей хто любить Наш козацький край З нами разом Козаком ставай Хлопець: Мамо моя За час за годину Свиснуть кулі заграють гармати. Звучить пісня Гей на горі та й женці жнуть. Для присяги звучить пісня Гей там на горі Січ іде: Гей там на горі Січ іде. Гей малиновий стяг несе.
53845. КОЗАЦЬКОМУ РОДУ – НЕМА ПЕРЕВОДУ 67 KB
  Карта козаків Козацька вікторина. Але підростають достойні нащадки козаків. А чи ж були у козаків скрині Дійсно кожному відомо що у козаків насамперед був кінь стрімкий шабля гостра шаровари червоного кольору А що ще ви знаєте про козаків Давайте но пригадаємо історію Сьогодні ми станемо свідками Козацьких розваг між двома курінями козаків і козачок. Отже зустрічаємо наших сильних вихованих розумних чесних козаків та приголомшливо прекрасних чарівних спокусливих козачок Знайомство команд.
53846. Доба героїчних походів козаків. Петро Конашевич-Сагайдачний 116.5 KB
  Доба героїчних походів козаків. Мета: розглянути напрями морських походів козаків; охарактеризувати діяльність гетьмана П. Актуалізація опорних знань учнів: фронтальна бесіда: Про кого ми вивчаємо у 8класі про козаків; Хто такі козаки Які причини виникнення козацтва З ким воювали козаки поляками турками ІІІ. План Доба героїчних походів козаків.
53847. Козацькому роду нема переводу (конкурс-змагання 2-х команд) 3-і класи 47.5 KB
  Складемо Присягу юних козачат Бути чесним і сміливим Присягаємось Боронити справедливість Присягаємось Цінувати побратимство Присягаємось Шанувати всі народи Присягаємось І плекати рідну мову Присягаємось Щоб козацькому роду не було переводу. Присягаємось на вірність Вітчизні й народу. Присягаємось Присягаємось Присягаємось Журі підводить підсумки.