special

Математичне програмування - Наконечний С.І.

РОЗДІЛ 8. ЗАДАЧІ НЕЛІНІЙНОГО ПРОГРАМУВАННЯ. ОСНОВНІ МЕТОДИ ЇХ РОЗВ’ЯЗУВАННЯ ТА АНАЛІЗУ

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

Т. Гекслі

У попередніх розділах було розглянуто методи розв’язування задач лінійного програмування та деякі типи задач, що певними нескладними перетвореннями зводяться до лінійних. Ці методи найкраще розроблені, легко реалізуються на ПЕОМ, а тому набули широкого застосування в багатьох галузях науки, техніки та економіки. Проте лінійні моделі відображають лише певну й вельми обмежену сукупність властивостей навколишнього світу. Адже, скажімо, соціально-економічні процеси переважно не є лінійними. Галузі, об’єднання та окремі підприємства народного господарства функціонують і розвиваються за умов невизначеності, а тому адекватно їх можна описати нелінійними, стохастичними, динамічними моделями. Отже, для ефективного управління народним господарством в цілому, його галузями і окремими об’єктами господарювання потрібне застосування нелінійних економіко-математичних моделей та методів.

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

8.1. Економічна і математична постановка задачі нелінійного програмування

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

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

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

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

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

Загальна задача математичного програмування формулюється так: знайти такі значення змінних xj , щоб цільова функція набувала екстремального (максимального чи мінімального) значення:

(8.1)

за умов:

(); (8.2)

. (8.3)

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



 

Created/Updated: 25.05.2018

';