ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ. Хотя на тех заданиях, которые были решены на лекциях, семинарах и в учебном пособии, программа была проверена, и успешно сгенерировала правильные решения, правильность решения, которое будет подготовлено программой, не гарантируется! В работе программы возможны ошибки! Программа разработана только для ознакомительных целей, для проверки собственных решений. Оформление решение, которое делает программа, не является полным! Как это обычно пишут, вы используете программу на свой страх и риск :).




Задача: найти минимум функции F = -5X1 +1X2 +1X3 при условиях:

{
+1X1 +1X2 >= 4 ;
+5X1 +1X2 +1X3 = 14 ;
}
X1 >= 0; X2 >= 0; X3 >= 0;

Чтобы воспользоваться алгоритмом симплекс-метода, задачу следует привести к канонической форме, т. е.:

Задача в канонической форме: найти максимум функции F = +5X1 -1X2 -1X3 при условиях:

{
+1X1 +1X2 -1X4 = 4 ;
+5X1 +1X2 +1X3 = 14 ;
}
X1 >= 0; X2 >= 0; X3 >= 0; X4 >= 0;

Мы не можем сформировать базис. Соответственно, необходимо перейти к расширенной задачи:

Задача: найти максимум функции F' = +5X1 -1X2 -1X3 -MX5 при условиях:

{
+1X1 +1X2 -1X4 +1X5 = 4 ;
+5X1 +1X2 +1X3 = 14 ;
}
X1 >= 0; X2 >= 0; X3 >= 0; X4 >= 0; X5 >= 0;

P1 = ( 1 ; 5 )
P2 = ( 1 ; 1 )
P3 = ( 0 ; 1 )
P4 = ( -1 ; 0 )
P5 = ( 1 ; 0 )
Соотношение m (число ограничений задачи) < n (число переменных) удовлетворяет одному из условий для решения симплекс-методом.


Базис: P5; P3;

Xопорное = ( 0 ; 0 ; 14 ; 0 ; 4 )


Решение оформим в таблице:
iБазисCбазP0 5
P1
-1
P2
-1
P3
0
P4
-M
P5
1P5 -M 4 1 1 0 -1 1
2P3 -1 14 5 1 1 0 0
3    -14 -10 0 0 0 0
4    -4 -1 -1 0 1 0
 
r = 2; k = 1
 
1P5 -M 6/5 0 4/5 -1/5 -1 1
2P1 5 14/5 1 1/5 1/5 0 0
3    14 0 2 2 0 0
4    -6/5 0 -4/5 1/5 1 0
 
r = 1; k = 2
 
1P2 -1 3/2 0 1 -1/4 -5/4 X
2P1 5 5/2 1 0 1/4 1/4 X
3    11 0 0 5/2 5/2 X


Задача успешно решена. Запишем ответ на исходную задачу:

X* = (5/2; 3/2; 0; )

Fmin(X*) = -11 (так как первоначальная задача заключалась в поиске минимума функции, умножить значение функции на -1)