Метод множників Лагранжа. Розв’язок задачі нелінійного програмування з обмеженнями-рівностями

Ідея методу множників Лагранжа при знаходженні розв’язку задачі нелінійного програмування, полягає в заміні початкової задачі дещо простішою. Для цього цільову функцію замінюють іншою, з більшою кількістю змінних і яка включає в себе умови, що подані як обмеження. Після такого перетворення подальше розв’язування задачі полягає в знаходженні екстремуму нової функції, на змінні якої не накладено ніяких обмежень. Тобто від початкової задачі пошуку умовного екстремуму переходимо до задачі відшукання безумовного екстремального значення іншої функції, яке визначається з допомогою необхідної умови існування екстремуму. Тобто, для розв’язування задачі необхідно знайти вирази частинних похідних нової цільової функції за кожною змінною і прирівняти їх до нуля. В результаті отримаємо систему рівнянь. Її розв’язок визначає так звані стаціонарні точки, серед яких є і шукані екстремальні значення функції.

Далі, розглянемо даний процес більш детально, та застосуємо метод множників Лагранжа для розв’язування задачі нелінійного програмування, що має вигляд:

Читати далі

Інтерполяція функцій методом Лагранжа для нерівновіддалених вузлів на Delphi

Програма виконує інтерполяцію функції за методом ЛагранжаІнтерфейс програми простий та зрозумілий у використанні. Ліва частина форми містить поле “Розмір таблиці”, яке відповідає за число заданих вузлів інтерполяції досліджуваної функції (способом введення з клавіатури записуються у таблицю) і степінь інтерполяційного многочлена. Також ліва частина форми містить три кнопкт та одне поле вводу:

  1. “Побудувати графік функції” – будує графік функції та відображає на ньому вузли інтерполяції.
  2. “Очистити” – видаляє з таблиці дані та побудований графік функції.
  3. “Обчислити значення функції” – обчислює значення функції в точці, яка задається в полі вводу “Задати точку”, а також відображає її на графіку.

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

Інтерполяційна формула Лагранжа на Delphi

Головне вікно програми яка виконує інтерполяцію функції за методом Лагранжа

Читати далі

Задача нелінійного програмування. Математична модель задачі нелінійного програмування

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

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

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

Читати далі

Знаходження наближеного значення таблично заданої функції використовуючи кубічну сплайн-інтерполяцію

Використання однієї інтерполяційної формули для великого числа вузлів, як у випадку інтерполяційних формул Ньютона чи Лагранжа являється недоцільним. Такий інтерполяційний многочлен сильно проявляє свої коливальні властивості, і його значення між вузлами можуть сильно відрізнятися від значень інтерпольованої функції. Однією з можливостей обійти такий недолік є застосування сплайн-інтерполяції. Ідея сплайн-інтерполяції полягає в побудові поліномів між парами сусідніх вузлів інтерполяції, причому для кожної пари вузлів будується свій поліном. Найпоширеніший у практиці є кубічний сплайн, для побудови якого необхідно побудувати n многочленів третьої степені:

Сплайн-інтерполяція

Для визначення невідомих Сплайн-інтерполяція многочлена (1) необхідно 4n рівняннь. Частина з них, а саме 2n, може бути отримана з умови проходження сплайна через вузли інтерполяції Сплайн інтерполяція:

Сплайн-інтерполяція

де Сплайн-інтерполяція. Науступні (2n-2) рівняння знайдемо з умови неперервності перших і других похідних у вузлах інтерполяції, тобто з умови гладкості кривої в усіх точках. Для цього знайдемо першу і другу похідну тричлена (1):

Читати далі