Економіко-математичне моделювання

Економіко-математичне моделювання Економіко-математичне моделювання

library.tneu.edu.ua
from library.tneu.edu.ua More from this publisher
19.07.2013 Views

Розділ 6. Нелінійні оптимізаційні моделі економічних систем 6.1. Постановка задачі нелінійного програмування та її характерні особливості До цього часу ми розглядали задачі лінійного програмування, тобто всі невідомі і в цільову функцію, і в обмеження задачі входили лінійно (в першому степені). Проте взаємозв’язки між економічними показниками досить часто носять нелінійний характер і побудована лінійна модель в такому випадку буде неадекватна реальній дійсності. Тому доцільно досліджувати певні економічні процеси з допомогою нелінійних моделей, математичним інструментом яких є нелінійне програмування. В загальному випадку задача нелінійного програмування має вигляд: ( 1, 2,..., n) max(min) , x x x f Z = (6.1) ⎧q1( x1, x2,..., xn ) { ≤, = , ≥} b1, ⎪ ⎪q2( x1, x2,..., xn ) { ≤, = , ≥} b2, ⎪ ⎨.......... .......... .......... .......... ...... ⎪ (6.2) qm ( x1, x2,..., xn ) { ≤, = , ≥} bm, ⎪ ⎪ ⎩x j ≥ 0, j = 1, n, де ( 1, 2,..., n) x x x f та ) ,..., , ( q i x1 x2 xn – нелінійні функції. Часто задачу нелінійного програмування намагаються привести до лінійного виду. Наприклад, якщо функція задається у вигляді 1 1 z = a + b , то заміною y = ми отримаємо лінійну функцію x x z = a + by . За такої заміни похибки немає, але заміна функції 2 z = −ax + bx + c деякою лінійною z = c + dy призводить до значних похибок, що зображено на рис. 6.1.1. В точках х1 та х3 значення обох функцій співпадають, а в точці х2 відрізняються значною мірою. Ми бачимо, що лінеаризація нелінійних процесів не завжди себе виправдовує і в загальному випадку є досить складною математичною задачею. 186

y2 y3 y1 y х1 х2 Рисунок 6.1.1 Для лінійних задач завжди можна знайти оптимальний розв’язок універсальним (симплексним) методом. При цьому немає проблеми з доведенням існування такого розв’язку, адже в результаті розв’язання задачі симплексним методом завжди отримуємо один із варіантів відповіді: 1) знайдено оптимальний розв’язок; 2) задача суперечлива, тобто її розв’язку не існує; 3) цільова функція необмежена, отже, розв’язку також немає. Для задач нелінійного програмування не існує універсального методу розв’язування, тому кожного разу треба доводити існування розв’язку задачі, а також його єдиність. При розв’язуванні нелінійних задач використовують наближені методи, більшість яких дають змогу знаходити локальні оптимуми, а вже знайшовши всі локальні оптимуми, методом порівняння значень цільової функції у кожній з точок локального оптимуму можна знайти глобальний. Наприклад, на рис. 6.1.2 маємо на деякому відрізку локальні оптимуми в точках х1, х2, х4, х5, х6, х7, х9 та х10, а глобальні – в точках х3 та х8. Проте для практичних розрахунків такий метод не завжди ефективний, тому що часто наближені методи не «вловлюють» глобального оптимуму, особливо коли глобальний оптимум лежить досить близько до локального. х3 187 х

Розділ 6. Нелінійні оптимізаційні моделі<br />

економічних систем<br />

6.1. Постановка задачі нелінійного програмування<br />

та її характерні особливості<br />

До цього часу ми розглядали задачі лінійного програмування,<br />

тобто всі невідомі і в цільову функцію, і в обмеження задачі входили<br />

лінійно (в першому степені). Проте взаємозв’язки між економічними<br />

показниками досить часто носять нелінійний характер і побудована<br />

лінійна модель в такому випадку буде неадекватна реальній<br />

дійсності. Тому доцільно досліджувати певні економічні процеси з<br />

допомогою нелінійних моделей, математичним інструментом яких є<br />

нелінійне програмування.<br />

В загальному випадку задача нелінійного програмування має<br />

вигляд:<br />

( 1, 2,...,<br />

n)<br />

max(min) ,<br />

x x x f Z = (6.1)<br />

⎧q1(<br />

x1,<br />

x2,...,<br />

xn<br />

) { ≤,<br />

= , ≥}<br />

b1,<br />

⎪<br />

⎪q2(<br />

x1,<br />

x2,...,<br />

xn<br />

) { ≤,<br />

= , ≥}<br />

b2,<br />

⎪<br />

⎨..........<br />

.......... .......... .......... ......<br />

⎪<br />

(6.2)<br />

qm<br />

( x1,<br />

x2,...,<br />

xn<br />

) { ≤,<br />

= , ≥}<br />

bm,<br />

⎪<br />

⎪<br />

⎩x<br />

j ≥ 0,<br />

j = 1,<br />

n,<br />

де ( 1, 2,...,<br />

n)<br />

x x x f та ) ,..., , ( q i x1<br />

x2<br />

xn<br />

– нелінійні функції.<br />

Часто задачу нелінійного програмування намагаються привести<br />

до лінійного виду. Наприклад, якщо функція задається у вигляді<br />

1<br />

1<br />

z = a + b , то заміною y = ми отримаємо лінійну функцію<br />

x<br />

x<br />

z = a + by . За такої заміни похибки немає, але заміна функції<br />

2<br />

z = −ax<br />

+ bx + c<br />

деякою лінійною z = c + dy призводить до значних<br />

похибок, що зображено на рис. 6.1.1. В точках х1 та х3 значення обох<br />

функцій співпадають, а в точці х2 відрізняються значною мірою.<br />

Ми бачимо, що лінеаризація нелінійних процесів не завжди себе<br />

виправдовує і в загальному випадку є досить складною<br />

математичною задачею.<br />

186

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!