Решение транспортных задач венгерским методом

Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 16.06.2011
Размер файла 844,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

GridB->Left=30;

GridB->Top=405

;

GridB->Height=25;

GridB->Width=256;

GridB->ColCount=Cm;

GridB->DefaultColWidth=35;

GridB->DefaultRowHeight=24;

GridB->FixedCols=0;

GridB->FixedRows=0;

GridB->RowCount=1;

GridB->ScrollBars=ssNone;

for(int i=0;i<Cm;i++)

GridB->Cells[i][0]=FormatFloat("",P[i]/100.0);

GridF=new TStringGrid(this);

GridF->Parent=Sheet;

GridF->Left=286;

GridF->Top=34;

GridF->Height=181;

GridF->Width=16;

GridF->ColCount=1;

GridF->DefaultColWidth=12;

GridF->DefaultRowHeight=24;

GridF->FixedCols=0;

GridF->FixedRows=0;

GridF->RowCount=Cn;

GridF->ScrollBars=ssNone;

for(int i=0;i<Cn;i++)

if(F[i]==1)

GridF->Cells[0][i]="+";

TStringGrid *GridG=new TStringGrid(this);

GridG->Parent=Sheet;

GridG->Left=30;

GridG->Top=13;

GridG->Height=16;

GridG->Width=256;

GridG->ColCount=Cm;

GridG->DefaultColWidth=35;

GridG->DefaultRowHeight=12;

GridG->FixedCols=0;

GridG->FixedRows=0;

GridG->RowCount=1;

GridG->ScrollBars=ssNone;

for(int i=0;i<Cm;i++)

if(G[i]==1)

GridG->Cells[i][0]="+";

}

void TForm1::Predv()

{

Sheet=new TTabSheet(this);

Grid=new TStringGrid(this);

GrX=new TStringGrid(this);

LabelC=new TLabel(this);

LabelX=new TLabel(this);

Sheet->Parent=this;

Sheet->PageControl=PageControl;

Sheet->Caption="Предв. этап";

Grid->Parent=Sheet;

Grid->Left=30;

Grid->Top=39;

Grid->Height=181;

Grid->Width=256;

Grid->DefaultColWidth=35;

Grid->DefaultRowHeight=24;

Grid->FixedCols=0;

Grid->FixedRows=0;

Grid->ScrollBars=ssNone;

Grid->RowCount=Cn;

Grid->ColCount=Cm;

for(int i=0;i<Cn;i++)

{

for(int j=0;j<Cm;j++)

{

Grid->Cells[j][i]=FormatFloat("",CS[i][j]/100.0);

}

}

LabelC->Parent=Sheet;

LabelC->Left=3;

LabelC->Top=20;

LabelC->Caption="C'";

GrX->Parent=Sheet;

GrX->Left=30;

GrX->Top=239;

GrX->Height=181;

GrX->Width=256;

GrX->DefaultColWidth=35;

GrX->DefaultRowHeight=24;

GrX->FixedCols=0;

GrX->FixedRows=0;

GrX->ScrollBars=ssNone;

GrX->RowCount=Cn;

GrX->ColCount=Cm;

for(int i=0;i<Cn;i++)

for(int j=0;j<Cm;j++)

GrX->Cells[j][i]=FormatFloat("",C[i][j]/100.0);

LabelX->Parent=Sheet;

LabelX->Left=3;

LabelX->Top=223;

LabelX->Caption="C0";

}

void TForm1::Ecviv()

{

Sheet=new TTabSheet(this);

Grid=new TStringGrid(this);

LabelC=new TLabel(this);

Sheet->Parent=this;

Sheet->PageControl=PageControl;

NKor++;

Sheet->Caption="Экв. пр. №"+IntToStr(NIter+1)+"."+IntToStr(NKor);

Grid->Parent=Sheet;

Grid->Left=30;

Grid->Top=39;

Grid->Height=181;

Grid->Width=256;

Grid->DefaultColWidth=35;

Grid->DefaultRowHeight=24;

Grid->FixedCols=0;

Grid->FixedRows=0;

Grid->ScrollBars=ssNone;

Grid->RowCount=Cn;

Grid->ColCount=Cm;

for(int i=0;i<Cn;i++)

{

for(int j=0;j<Cm;j++)

{

switch (N[i][j])

{

case 4:

Grid->Cells[j][i]="0*";

break;

case 3:

Grid->Cells[j][i]="0'";

break;

case 2:

Grid->Cells[j][i]=L'\u022a';

break;

case 1:

Grid->Cells[j][i]=L'\u0230';

break;

case 0:

Grid->Cells[j][i]="0";

case -1:

Grid->Cells[j][i]=FormatFloat("",C[i][j]/100.0);

break;

}

}

}

LabelC->Parent=Sheet;

LabelC->Left=3;

LabelC->Top=20;

LabelC->Caption="C"+IntToStr(NKor);

}

void __fastcall TForm1::CepochDrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,

TGridDrawState State)

{

TStringGrid* c=(TStringGrid*) Sender;

if (c->Name!="StoimPer")

{

UnicodeString Index;

Index=PageControl->ActivePage->Name;

Index.Delete(1,1);

nomer=Index.ToInt();

Graphics::TBitmap *pict = new Graphics::TBitmap();

switch (Cep[nomer][ARow][ACol])

{

case 12:

pict->LoadFromResourceID((unsigned int)HInstance,104);

break;

case 9:

pict->LoadFromResourceID((unsigned int)HInstance,102);

break;

case 7:

pict->LoadFromResourceID((unsigned int)HInstance,106);

break;

case 6:

pict->LoadFromResourceID((unsigned int)HInstance,105);

break;

case 5:

pict->LoadFromResourceID((unsigned int)HInstance,108);

break;

case 4:

pict->LoadFromResourceID((unsigned int)HInstance,109);

break;

case 3:

pict->LoadFromResourceID((unsigned int)HInstance,101);

break;

case 2:

pict->LoadFromResourceID((unsigned int)HInstance,107);

break;

case 1:

pict->LoadFromResourceID((unsigned int)HInstance,103);

break;

}

pict->Transparent = true;

c->Canvas->Draw(Rect.left,Rect.Top,pict);

pict->Free();

}

nomer=0;

}

//---------------------------------------------------------------------------

//!!

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

if (StoimPer->ColCount == 8)

Button1->Enabled = false;

else Button1->Enabled = true;

if (StoimPer->ColCount == 4)

Button2->Enabled = false;

else Button2->Enabled = true;

if (StoimPer->RowCount == 8)

Button3->Enabled = false;

else Button3->Enabled = true;

if (StoimPer->RowCount == 4)

Button4->Enabled = false;

else Button4->Enabled = true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

StoimPer->ColCount++;

Potr->ColCount++;

Ogran->ColCount++;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

StoimPer->ColCount--;

Potr->ColCount--;

Ogran->ColCount--;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

StoimPer->RowCount++;

Zapas->RowCount++;

Ogran->RowCount++;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

StoimPer->RowCount--;

Zapas->RowCount--;

Ogran->RowCount--;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::NAboutClick(TObject *Sender)

{

MessageDlg(L"Костенко И-23 Венгерский метод.", mtConfirmation,

TMsgDlgButtons() << mbOK, 0);

}

//---------------------------------------------------------------------------


Подобные документы

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

  • Обзор алгоритмов методов решения задач линейного программирования. Разработка алгоритма табличного симплекс-метода. Составление плана производства, при котором будет достигнута максимальная прибыль при продажах. Построение математической модели задачи.

    курсовая работа [266,4 K], добавлен 21.11.2013

  • Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.

    контрольная работа [191,1 K], добавлен 05.04.2016

  • Построения математической модели с целью получения максимальной прибыли предприятия, графическое решение задачи. Решение задачи с помощью надстройки SOLVER. Анализ изменений запасов ресурсов. Определение пределов изменения коэффициентов целевой функции.

    курсовая работа [2,4 M], добавлен 17.12.2014

  • Изучение и укрепление на практике всех моментов графического метода решения задач линейного программирования о производстве журналов "Автомеханик" и "Инструмент". Построение математической модели. Решение задачи с помощью электронной таблицы Excel.

    курсовая работа [663,9 K], добавлен 10.06.2014

  • Решение в среде Microsoft Excel с помощью программной модели "Поиск решения" транспортной задачи, системы нелинейных уравнений, задачи о назначениях. Составление уравнения регрессии по заданным значениям. Математические и алгоритмические модели.

    лабораторная работа [866,6 K], добавлен 23.07.2012

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

  • Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.

    курсовая работа [100,0 K], добавлен 31.10.2014

  • Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.

    контрольная работа [196,1 K], добавлен 15.01.2009

  • Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.

    курсовая работа [1,1 M], добавлен 21.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.