Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Матем_прогр-пособие.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.02 Mб
Скачать

Вступ

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

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

  • із багатьох допустимих розв’язків вибирають найкращій або оптимальний;

  • розв’язками є набір кінцевої кількості змінних величин;

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

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

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

  • позначення змінних величин плану задачі;

  • математичний опис обмежень на вибір значення змінних (умова практичних, допустимих значень);

  • побудова цільової функції, значення якої є критерієм якості розв’язання;

  • остаточне формулювання математичної моделі задачі, як задачі на знаходження екстремуму цільової функції на множині допустимих значень змінних - планів задачі.

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

При складанні математичної моделі ми вимушені робити деякі спрощення, зневажати незначними факторами та враховувати в умові задачі основні вирішальні фактори.

Тому особа, яка розв’язує такі практичні задачі повинна мати відповідно математичну та економічну підготовку.

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

Такими класіфікуючими групами можуть бути:

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

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

  • задачі оптимального розкрою матеріалів. Критерієм оптимальності у більшості випадків є досягнення найменших відходів при розкроюванні стандартних зразків;

  • задачі транспортного типу. Для класичних транспортних задач критерієм оптимальності є вартість перевезень або час, який витрачається.

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

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

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

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

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

1. Загальна задача лінійного програмування

1.1. Класифікація задач математичного програмування

Під загальною задачею математичного програмування розуміють задачу пошуку екстремуму (максимуму або мінімуму) функції

z=f(x1,x2,...,xn) (1.1)

за умов

gi(x1,x2,...,xn) ,=,bi (i=1,2,...,m), (1.2)

X=(x1,x2 ,...,xn)Q,, (1.3)

де Q- деяка множина n-вимірного евклідового простору Rn.

Умови (1.2) називають обмеженнями, а функція (1.1) - цільовою функцією. При цьому функції gi(i=1,2,...,m) і f, а також числа bi(i=1,2,...,m) вважаються заданими. Крім того, у кожному з обмежень (1.2) зберігається тільки один знак відношення (,=,), хоч різні обмеження можуть мати різні знаки. Множина точок, що задовольняють умови (1.2), (1.3), називають допустимою множиною.

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

Математичне програмування поділяється на такі основні розділи: лінійне програмування, нелінійне програмування, стохастичне програмування і динамічне програмування.

Лінійним програмуванням називається розділ математичного програмування, що вивчає задачі типу (1.1)-(1.3), в яких функції gi(i=1,2,...,m) і f є лінійними, тобто

gi(x1,x2,...,xn)=ai1x1+ai2x2+...+ainxn (i=1,2,...,m),

f(x1,x2,...,xn)=c1x1+c2x2+...+cnxn,

де aij(i=1,2,...,m, j=1,2,...,n), cj (j=1,2,...,n) - задані константи, а множина Q складається із точок з невід’ємними компонентами.

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

Нелінійним програмуванням називається розділ математичного програмування, що вивчає задачі типу (1.1)-(1.3), в яких функція f або хоч би одна з функцій gi(i=1,2,...,m) є нелінійною. Найбільш вивченими класами задач нелінійного програмування є задачі квадратичного програмування, опуклого програмування, сепарабельного програмування.

Квадратичним програмуванням називається розділ математичного програмування, що вивчає задачі типу (1.1)-(1.3), в яких функції gi(i=1,2,...,m) є лінійними, а функція f є сумою лінійної і квадратичної форм.

Опуклим програмуванням називається розділ математичного програмування, що вивчає задачі типу (1.1)-(1.3), в яких функції gi(i=1,2,...,m) і f є опуклими. При цьому вважається, що множина Q є опуклою. Основною особливістю цієї задачі є її одноекстремальність, тобто в ній нема локальних екстремумів. Задача лінійного й квадратичного програмування (за певних умов) є окремим випадком задачі опуклого програмування.

Сепарабельним програмуванням називається розділ математичного програмування, що вивчає задачі типу (1.1)-(1.3), в яких функції gi(i=1,2,...,m) і f є сепарабельними.

Функція називається сепарабельною, якщо вона подана в такому вигляді:(x1,x2,...,xn)=1(x1)+2(x2)+...+n(xn).

Частковим випадком сепарабельної функції є лінійна функція.

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

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