скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКонтрольная работа: Исследование операций

Система А: 

Система В:

Перепишем систему А:

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();

   printf ("Введите числа матрицы А ");

   for (i=0; i<5; i++){for(j=0; j<7; j++) {scanf ("%lf",&n); a[i][j]=n;}}

   printf ("Введите координаты разрешающего элемента\n");

   scanf("%d",&k) ;

   scanf ("%d",&m);    

 

   printf (" матрицa A \n");

   for (i=0; i<5; i++)

        {for(j=0; j<7; j++) printf ("  %lf",a[i][j]);printf ("\n");}

   printf (" координаты \n ");

    printf("%d   %d",k,m) ;

 h=1/a[k][m];

 b[k][m]=h;

 printf ("\n h=%lf",h);

 for (i=0; i<7; i++)

{ if (i!=m) b[k][i]=a[k][i]*b[k][m]; }

  for (i=0;i<5; i++)

 { if (i!=k) b[i][m]=-a[i][m]*b[k][m];}

 for (i=0;i<5;i++)

 {

   for (j=0;j<7;j++)

         if ((i!=k)&&(j!=m)) b[i][j]=a[i][j]+a[k][j]*b[i][m];

   }

 printf ("\n результат ");

    printf (" матрицa B \n");

   for (i=0; i<5; i++)

        {for(j=0; j<7; j++) printf ("  %lf",b[i][j]);printf ("\n");}

 getch();

}


Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.