Обща задача на линейното програмиране и методи за решаването й
от Българският сайт за математика
Линейното програмиране обхваща методите за решаване на редица оптимални задачи, подчиняващи се на определени ограничителни условия. Специфичността на моделите на някои задачи изискват създаването на специфични методи за тяхното решаване. Всичко това затруднява изследването на общите особености на линейното програмиране. Тези обстоятелства са наложили създаването на общ модел на задачите на линейното програмиране.
Общата задача на линейното програмиране се формулира математически така:
Да се намери оптималната (максималната или минимална) стойност на линейната функция при следните ограничителни условия:
За да бъде системата от ограничителни условия съвместима, приемаме . Ако това е нарушено, то определен брой уравнения могат да се отделят и останалите образуват линейно независима система.
Всички коефициенти трябва да са неотрицателни числа. Ако някое
е отрицателно, то с умножаване на двете страни на уравнението с (-1) правим
неотрицателно.
В системата от ограничителни условия едно или няколко условия могат да бъдат зададени като неравенства ( или
). Но и в този случай чрез прибавяне или изваждане на фиктивни променливи те се превръщат в уравнения и системата приема КАНОНИЧЕН ВИД.
Геометрическата интерпретация на общата задача има не толкова практическо, колкото теоретическо значение за изясняване на подхода на линейното програмиране. Ще разгледаме общата задача в двумерно пространство.
Да се намери оптимума на функцията: при условия:
Линейната функция обикновено е нарича ЦЕЛЕВА (ще приемем в изложението по-нататък това наименование). Целевата функция геометрически се представя чрез права, т. нар. ОПОРНА права, а системата от ограничителни условия се представя с изпъкнал многоъгълник.
Оптимумите на целевата функция се получават в точките, в които опорната права при успоредното си пренасяне има за първи или последен път обща точка с многоъгълника. В нашия общ случай това са точките и
. В точката
функцията има минимум, който се намира като заместим в целевата функция неизвестните с координатите на
, а в точката
- максимум.
Този начин за намиране на оптимума се нарича графичен метод за решаване на общата задача, но само в случая, когато целевата функция е с две променливи.
Със задачи за намиране на оптимално решение човек се среща доста често:
- как да се похарчат наличните пари за дадена седмица, така, че да се получи оптимална удовлетвореност; - как да се уплътни оптимално свободното време и т.н.
За да се постигне оптимален ефект при наличие на известни ограничителни условия, необходимо е да се състави план-програма за действие. Такава програма в живота се прави по интуиция и за това резултатите са в повечето случаи неоптимални.
Терминът "линейно програмиране" е от около 40-те години на XX век, но задача от линейно програмиране е била обобщена доста по-рано от Жан Батист Фурие. Добре е да се съобщи как се е родила тази първа по рода си задача.
На една от барикадите по време на Френската революция се намирал студента по математика Фурие. Трябвало да се постави единственото оръдие, с което разполгали, на площадка, която се крепяла на четири колони. Било изказано съмнение, че площадката няма да издържи, но Фурие формулирал задача (точната формулировка изисква специфични знания по физика, затова не е нужно да се дава), решил я и доказал сигурността на площадката.
Задача от подобен род, но с икономическо съдържание, формулира през 1939 година съветският академик Леонид Канторович.
Кое е характерно за тези задачи? На този въпрос най-добре се отговаря чрез формулирането на общата задача на линейното програмиране, зададена в двумерното пространство.
След това може да се разгледа следната задача:
1. За производство на два вида продукция и
са необходими четири вида суровини
и
, чийто запаси са ограничени. Количеството материал, необходим от всяка суровина за производството на всяка от продукциите, както и производствените цени на продукциите, са дадени в таблицата:
Суровини![]()
Запаси
2 3 19
2 1 13
0 3 15
3 0 18 Цена 7 5
Какво количество от всяка продукция трябва да се произведе, за да бъде печалбата максимална?
Решение:
Нека означим количеството от първата продукция с
, а с
от продулцията
. При това означаване печалбата ще бъде: Z.
Като вземем предвид запасите от всяка суровина, ще получим следните ограничителни условия:
Математическият модел на задачата е:
Да се намери максимума на функцията при ограничителни условия, зададени от горната система.
За решаването на тази задача ще използваме графичния метод. Можем да търсим множеството от решения на неравнства с две неизвестни, т.е. можем да намерим многоъгълника, определен от системата ограничителни условия.
Опорната права при успоредното пренасяне има за последен път обща точка с многоъгълника точка P (5, 3), следователно целевата фунцкия Z има максимум в тази точка.
От продукцията трябва да се произведе
единици, а от
единици, като при тези количества печалбата ще бъде максимална.
Необходимо е да се отбележи, че тази задача е идеализирана, т.е. взети са много малко ограничения - в практиката се имат предвид престой на машини, брак, текучество на работната ръка и т.н.
Задачи:
1. Да се намери максимума на функцията: при следните условия:
2. Да се намери минимума на функция , ако:
3. Да се намери максимума на функцията , като се приведат към две променливи следните ограничителни условия:

