Контрольная работа: Исследование операций 4
V={v1,v2}≥0; W={w1,w2}≥0
в систему А для того, чтобы неравенства превратить в равенства:
Тогда
.
Следовательно, система В примет вид:
- это условия дополняющей нежесткости.
5) Решим систему А с помощью метода искусственных переменных.
Введем переменные Y={y1; y2} в 1 и 2 уравнения системы
и создадим псевдоцелевую функцию Y=My1+My2→min
Y’=-Y= -My1-My2→max.
В качестве свободных выберем х1, х2, v1, v2, u1, u2;
а в качестве базисных y1, y2, w1, w2.
Приведем систему и целевую функцию к стандартному виду, для построения симплекс-таблицы:
Решим с помощью симплекс-таблицы. Найдем опорное решение:
Примечание: вычисления производились программно, см Приложение
b | x1 | x2 | u1 | u2 | v1 | v2 | |||||||
Y' | -6M | -12M | -4M | -M | 9M | M | M | ||||||
y1 | 4,5 | 10 | 2 | -2 | -5 | -1 | 0 | ||||||
y2 | 1,5 | 2 | 2 | 3 | -4 | 0 | -1 | ||||||
w1 | -9 | -2 | 3 | 0 | 0 | 0 | 0 | ||||||
w2 | -13 | -5 | 4 | 0 | 0 | 0 | 0 | ||||||
b | w1 | x2 | u1 | u2 | v1 | v2 | |||||||
Y' | 48M | -6M | -22M | -1M | 9M | 1M | 1M | ||||||
y1 | -40,5 | 5 | 17 | -2 | -5 | -1 | 0 | ||||||
y2 | -7,5 | 1 | 5 | 3 | -4 | 0 | -1 | ||||||
x1 | 4,5 | -0,5 | -1,5 | 0 | 0 | 0 | 0 | ||||||
w2 | 9,5 | -2,5 | -3,5 | 0 | 0 | 0 | 0 | ||||||
b | w1 | x2 | y1 | u2 | v1 | v2 | |||||||
Y' | 68,25M | -8,5M | -30,5M | -0,5M | 11,5M | 1,5M | 1M | ||||||
u1 | 20,25 | -2,5 | -8,5 | -0,5 | 2,5 | 0,5 | 0 | ||||||
y2 | -68,25 | 8,5 | 30,5 | 1,5 | -11,5 | -1,5 | -1 | ||||||
x1 | 4,5 | -0,5 | -1,5 | 0 | 0 | 0 | 0 | ||||||
w2 | 9,58 | -2,5 | -3,5 | 0 | 0 | 0 | 0 | ||||||
b | w1 | x2 | y1 | y2 | v1 | v2 | |||||||
Y' | 0 | 0 | 0 | M | M | 0 | 0 | ||||||
u1 | 5,413043 | ||||||||||||
u2 | 5,934783 | ||||||||||||
x1 | 4,5 | ||||||||||||
w2 | 9,5 |
Т. о, w1=x2=y1=y2=v1=v2=0; u1=5,413043; u2=5,934783; x1=4.5; w2=9.5.
б) Условия дополняющей нежесткости не выполняются (u2w2≠0), значит решения исходной задачи квадратичного программирования не существует.
ОТВЕТ: не существует.
Приложение
#include <math.h>
#include <stdio.h>
main()
{
int i,j,k,m;
double h,n,a[5][7],b[5][7];
clrscr();