Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила icon

Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила



НазваниеЛабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила
Богданова В. А
Дата конвертации17.09.2012
Размер34.27 Kb.
ТипЛабораторная работа


МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ УКРАИНЫ

ОДЕССКИЙ НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИНСТИТУТ БИЗНЕСА, ЭКОНОМИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ В МЕНЕДЖМЕНТЕ


Лабораторная работа

по дисциплине «Исследование операций»


Выполнила:

ст. гр. ОИ-071

Маковей Ирина


Проверила:

Богданова В. А.


Одесса, 2010г.

Задание:

Написать программу на языке программирования С++ для решения оптимизационной задачи линейного программирования симплекс-методом.

Решение:

Код программы:

// simplex.cpp : Defines the entry point for the console application.

#include "stdafx.h"

#include

using namespace std;

const int m1=100;


void main(){

int a[m1][m1],c[m1],z[m1], d[m1], k[m1], b[m1], j_min, i_min, q;

double oc1[m1], oc2[m1], e[m1], e1[m1], r[m1][m1], r1[m1][m1], f, min ;

int fl1,kol_vo,i,j, o, n, m;

cout<<"Vvedite kolichestvo peremennux:\n";

cin>>n;

cout<<"Vvedite kolichestvo ogranichenij:\n";

cin>>m;

cout<<"Vvedite coeficientu celevoj fynkcii pri:\n";

for (i=0;i
cout<<"X"<
cin>>c[i];}

cout<<"Esli tselevaja funktsija stremitsja k minimumu vvedite 0"<<'\n';

cout<<"Esli tselevaja funktsija stremitsja k maksimumu vvedite 1"<<'\n';

cin>>fl1; //направление целевой функции

cout<<"Vvedite matricy ogranichenij:\n";

for (i=0;i
cout<<"Dlja "<
for (j=0;j
cout<<"X"<
cin>>a[i][j];}}

cout<<"Vvedite stolbets svobodnyh chlenov:\n";

for (i=0;i
cout<
cin>>b[i];

cout<<'\n';

cout<<"Esli v ogranichenii znak <=, vvedite 1"<<'\n';

cout<<"Esli v ogranichenii znak =>, vvedite 2"<<'\n';

cin>>z[i];} //знак ограничения

for (i=0;i
e[i]=b[i];

if (fl1==0){

for (i=0;i
c[i]=(-1)*c[i];}

cout<<'\n'<<'\n';

cout<<"Tselevaja funktsija i ogranichenija v kanonicheskom vide:"<<'\n';

cout<<'\n';

cout<
for (i=2;i<=n;i++){

if (c[i-1]<0) cout<
else cout<<'+'<
cout<<"->max"<<'\n';

kol_vo=n;

for (i=0;i
for (j=0;j
r[i][j]=a[i][j];}

for (i=0;i
if (z[i]==1){

cout<
for (j=1;j
if (a[i][j]<0) cout<
else cout<<'+'<
kol_vo=kol_vo+1;

k[i]=kol_vo;

cout<<"+x"<
for (j=0;j
if (j==i) r[j][kol_vo-1]=1;

else r[j][kol_vo-1]=0;}}

if (z[i]==2){

cout<
for (j=1;j
a[i][j]=a[i][j]*(-1);

if (a[i][j]<0) cout<
else cout<<'+'<
kol_vo=kol_vo+1;

k[i]=kol_vo;

cout<<"+x"<
for (j=0;j
if (j==i) r[j][kol_vo-1]=1;

else r[j][kol_vo-1]=0;}}}

for (j=n;j
c[j]=0;

for (i=0;i
d[i]=0;

q=0; //№ таблицы

metka:

f=0; //значение функции

for(i=0;i
f=f+d[i]*e[i];

for(j=0;j
oc1[j]=-c[j];

for(i=0;i
oc1[j]=oc1[j]+d[i]*r[i][j];}

cout<<'\n';

o=0; //проверка оценок

for(j=0;j
if(oc1[j]<0)

o=1;}

if(o==1){

min=oc1[0];

j_min=0;

for(j=1;j
if (min>oc1[j]){

min=oc1[j];

j_min=j;}}

for (i=0;i
oc2[i]= e[i]/r[i][j_min];

q=q+1;

metka1:

cout<
cout<<'\n';

cout<<"| | | | ";

for(j=0;j
if (c[j]<0)

cout<
else

cout<<" "<
cout<<" |\n";

cout<<"| Ci | Bx | Ao |";

for (i=0;i
cout<<"----|";

cout<<" Q |\n";

cout<<"| | | |";

for (j=1;j
cout<<" X"<
cout<<" |\n";

cout<<"-------------------";

for (i=0;i
cout<<"-----";

cout<<"-\n";

for (i=0;i
if (d[i]<0){

if (e[i]<0)

cout<<"| "<
else

cout<<"| "<
else{

if (e[i]<0)

cout<<"| "<
else

cout<<"| "<
for (j=0;j
if (r[i][j]<0)

cout<
else

cout<<" "<
if (o==1)

cout<
cout<<'\n';}

cout<<"-------------------";

for (i=0;i
cout<<"-----";

cout<<"-\n";

cout<<" F="<
for(j=0;j
if (oc1[j]<0)

cout<<" | "<
else

cout<<" | "<
cout<<" |";

if (o==0)

goto metka2;

cout<<'\n';

cout<<'\n';

cout<<"Plan ne optimalen\n";

min=oc2[0];

i_min=0;

for(i=1;i
if(min<0){

min=oc2[i];

i_min=i;}

else{

if (oc2[i]>0){

if (min>oc2[i]){

min=oc2[i];

i_min=i;}}}}

if(min<0)

cout<<"Sistema ne imeet reshenija\n";

else{

cout<<"Razreshajyshchij element na peresechenii "<
for(i=0;i
for(j=0;j
r1[i][j]=r[i][j];}

for(i=0;i
e1[i]=e[i];

k[i_min]=j_min+1;

d[i_min]=c[j_min];

for(i=0;i
if(i==i_min){

e[i]=e1[i]/r1[i_min][j_min];

for(j=0;j
r[i][j]=r1[i][j]/r1[i_min][j_min];}

else{

e[i]=e1[i]-r1[i][j_min]*e1[i_min]/r1[i_min][j_min];

for(j=0;j
if (j==j_min)

r[i][j]=0;

else

r[i][j]=r1[i][j]-r1[i][j_min]*r1[i_min][j]/r1[i_min][j_min];}}}

goto metka;}}

else{

q=q+1;

goto metka1;

metka2:

cout<<'\n';

cout<<'\n';

cout<<"Plan optimalen\n";}

cout<<"Znachenie funktsyi: "<
for (i=0;i
cout<<"x"<
cout<<'\n';

return;}


Пусть дана задача, в которой целевая функция:



и ограничения:



Тогда решение задачи будет выглядеть так:






Похожие:

Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconРеферат по теме: «Выбор вакансий» ст гр. Ои-071 Маковей Ирина Одесса, 2011 Содержание
«кибернетика» как название науки об управлении и информации в научный обиход ввел Норберт Винер. Экономическая кибернетика же, как...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №1. 3 3 Лабораторная работа №2 4 Лабораторная работа №3 6 Лабораторная работа №4. 7
Электронное издание значительно дешевле, чем печатное, и изготовление такого издания не связано с расходом трудно возобновимых ресурсов...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconКонтрольная работа по дисциплине «Теория организаций» Выполнили: студенты курса Проверила: к п. н., доц. Насонова Е. Е

Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №1. 2 2 Лабораторная работа №2 3
Электронное издание значительно дешевле, чем печатное, и изготовление такого издания не связано с расходом трудно возобновимых ресурсов...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №2. 8 Дифракция и интерференция
Знакомство с моделированием процесса сложения когерентных электромагнитных волн. Экспериментальное исследование закономерностей взаимодействия...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №2. 9 Дифракционная решетка
Знакомство с моделированием процесса сложения когерентных электромагнитных волн. Экспериментальное исследование закономерностей взаимодействия...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа по Word. Аншакова А. А. Пгс-11 Проверил: Синева Н. Ф саратов 2010 г. Лабораторная работа №1
Электронное издание значительно дешевле, чем печатное, и изготовление такого издания не связано с расходом трудно возобновимых ресурсов...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №3. Атом водорода в квантовом описании. Содержание. Атом водорода в квантовом описании. Физика явления. Работа с программой. Отчет
Создание наглядного образа волновой функции электрона в атоме; визуализация процедуры квантования энергия; исследование и демонстрация...
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №4 Исследование зависимости периода колебания пружинного маятника от массы груза и жесткости пружины
Цель работы: изучить зависимость периода колебаний пружинного маятника от параметров колебательной системы
Лабораторная работа по дисциплине «Исследование операций» ст гр. Ои-071 Маковей Ирина Проверила iconЛабораторная работа №1 Тема: Исследование равноускоренного движения без начальной скорости Цель работы: определить ускорение движения шарика и его мгновенную скорость перед ударом о цилиндре
Приборы материалы: желоб лабораторный, шарик, цилиндр металлический, линейка, секундомер
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©lib.podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы