Программный продукт, реализующий сравнительный анализ методов линейного целочисленного программирования

Требования к программному изделию, составу и параметрам технических средств (аппаратные ограничения). Технико-экономическое обоснование целесообразности разработки. Функция, реализующая метод "Северо-западного угла". Модуль Sz, Nst, Venger-m, М1.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.09.2013
Размер файла 1,6 M

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

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

Image2->Canvas->LineTo(hh*i,0);

}

for(int i=1;i<=yn/hh;i++)

{

Image2->Canvas->MoveTo(0,hh*i);

Image2->Canvas->LineTo(xn,hh*i);

}

for(int i=1;i<=10;i++)

{

int ms;

ms=((i*(n+3)/10)/(mast/100));

Image2->Canvas->TextOut(i*xn/10,yn/2,ms);

}

for(int i=1;i<=10;i++)

{

float ms;

ms=i; ///(mast/100)

if(i!=5)

Image2->Canvas->TextOut(hh,yn-i*yn/10,ms/10);

}

Image2->Canvas->Pen->Width=2;

Image2->Canvas->Pen->Color=clGreen;

Image2->Canvas->MoveTo(0,yn/2);

Image2->Canvas->LineTo(xn,yn/2);

Image2->Canvas->Pen->Width=3;

Image2->Canvas->Pen->Color=clGray;

Image2->Canvas->MoveTo(xh,yn);

Label19->Caption=1;

int d;

d=(n+3)%10;

if (d>4) d=(n+3)/10;

else d=0;

for(int i=0;i<=(n+3)-d;i=i+(n+3)/10)

{

Label18->Caption=StrToInt(i);

Form1->Edit1->Text=i;

Form1->Edit1Change(Sender);

//int tmm=0;

int *mas3_1=new int [i*i];

int *mas3_2=new int [i*i];

opt=0;

if((CheckBox10->Checked==true)&& (CheckBox14->Checked==false)) //С-З

{

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button1Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox11->Checked==true)&& (CheckBox14->Checked==false)) //Наимен

{

//opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button2Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox12->Checked==true)&& (CheckBox14->Checked==false)) //Фогель

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button3Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox13->Checked==true)&& (CheckBox14->Checked==false)) //Нер(1)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button7Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}if((CheckBox10->Checked==true)&& (CheckBox14->Checked==true)) //С-З - Нер(2)

{

//opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button1Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox11->Checked==true)&& (CheckBox14->Checked==true)) //Наимен - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button2Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox12->Checked==true)&& (CheckBox14->Checked==true)) //Фогель - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button3Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox13->Checked==true)&& (CheckBox14->Checked==true)) //Нер(1) - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button7Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

opt=opt/tc;

opt_f=opt;

opt_f=opt_f/i ;

delete [] mas3_1;

mas3_1=NULL;

delete [] mas3_2;

mas3_2=NULL;

if(i==0)

Image2->Canvas->MoveTo(0,yn);

else

Image2->Canvas->LineTo(xh*(mast/100),yn-(opt_f*yn)); //*(mast/100)

xh=xh+xn/10;

Refresh();

}

//int t;

//t=opt_f*1000;

Image2->Canvas->TextOut((xh-xn/10+hh)*(mast/100),yn-hh-(opt_f*yn),FloatToStr(opt_f));//*(mast/100)

Label18->Caption="OK";

Button12->Enabled=true;

}

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

void __fastcall TForm1::CheckBox10Click(TObject *Sender)

{

if(CheckBox10->Checked==true)

{

ComboBox5->Clear();

ComboBox5->AddItem("Метод Нереализ. приб(2)",ComboBox5);

}

if(CheckBox10->Checked==true)

{

CheckBox11->Checked=false;

CheckBox12->Checked=false;

CheckBox13->Checked=false;

CheckBox14->Checked=false;

}

}

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

void __fastcall TForm1::ComboBox4Change(TObject *Sender)

{

if(ComboBox4->ItemIndex==0)

CheckBox10->Checked=true;

if(ComboBox4->ItemIndex==1)

CheckBox11->Checked=true;

if(ComboBox4->ItemIndex==2)

CheckBox12->Checked=true;

if(ComboBox4->ItemIndex==3)

CheckBox13->Checked=true;

Button11->Enabled=true;

}

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

void __fastcall TForm1::CheckBox11Click(TObject *Sender)

{

if(CheckBox11->Checked==true)

{

ComboBox5->Clear();

ComboBox5->AddItem("Метод Нереализ. приб(2)",ComboBox5);

}

if(CheckBox11->Checked==true)

{

CheckBox10->Checked=false;

CheckBox12->Checked=false;

CheckBox13->Checked=false;

CheckBox14->Checked=false;

}

}

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

void __fastcall TForm1::CheckBox12Click(TObject *Sender)

{

if(CheckBox12->Checked==true)

{

ComboBox5->Clear();

ComboBox5->AddItem("Метод Нереализ. приб(2)",ComboBox5);

}

if(CheckBox12->Checked==true)

{

CheckBox11->Checked=false;

CheckBox10->Checked=false;

CheckBox13->Checked=false;

CheckBox14->Checked=false;

}

}

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

void __fastcall TForm1::CheckBox13Click(TObject *Sender)

{

if(CheckBox13->Checked==true)

{

ComboBox5->Clear();

ComboBox5->AddItem("Метод Нереализ. приб(2)",ComboBox5);

}

if(CheckBox13->Checked==true)

{

CheckBox11->Checked=false;

CheckBox12->Checked=false;

CheckBox10->Checked=false;

CheckBox14->Checked=false;

}

}

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

void __fastcall TForm1::ComboBox5Change(TObject *Sender)

{

if(ComboBox5->ItemIndex==0)

CheckBox14->Checked=true;

}

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

void __fastcall TForm1::Button12Click(TObject *Sender)

{

int xn,yn,n,hh,xh,yh,opt,tc;

float mast,opt_f;

mast=StrToFloat(Edit8->Text);

n=StrToInt(Edit9->Text)-3;

hh=StrToInt(Edit7->Text);

xh=0;

xn=Image2->Width;

yn=Image2->Height;

tc=StrToInt(Edit10->Text);

Image2->Canvas->Pen->Width=2;

Image2->Canvas->Pen->Color=clGreen;

Image2->Canvas->Pen->Width=3;

Image2->Canvas->Pen->Color=clRed;

Image2->Canvas->MoveTo(xh,yn);

switch(StrToInt(Label19->Caption))

{

case 1: {Image2->Canvas->Pen->Color=clBlack;Label19->Caption=2;}break;

case 2: {Image2->Canvas->Pen->Color=clGreen;Label19->Caption=3;}break;

case 3: {Image2->Canvas->Pen->Color=clWhite;Label19->Caption=4;}break;

case 4: {Image2->Canvas->Pen->Color=clYellow;Label19->Caption=5;}break;

case 5: {Image2->Canvas->Pen->Color=clBlue;Label19->Caption=6;}break;

case 6: {Image2->Canvas->Pen->Color=clMoneyGreen;Label19->Caption=7;}break;

case 7: {Image2->Canvas->Pen->Color=clRed;Label19->Caption=8;}break;

case 8: {Image2->Canvas->Pen->Color=clGray;Label19->Caption=1;}break;

}

int d;

d=(n+3)%10;

if (d>4) d=(n+3)/10;

else d=0;

for(int i=0;i<=(n+3)-d;i=i+(n+3)/10)

{

Label18->Caption=StrToInt(i);

Form1->Edit1->Text=i;

Form1->Edit1Change(Sender);

//int tmm=0;

int *mas3_1=new int [i*i];

int *mas3_2=new int [i*i];

opt=0;

if((CheckBox10->Checked==true)&& (CheckBox14->Checked==false)) //С-З

{

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button1Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox11->Checked==true)&& (CheckBox14->Checked==false)) //Наимен

{

//opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button2Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox12->Checked==true)&& (CheckBox14->Checked==false)) //Фогель

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button3Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox13->Checked==true)&& (CheckBox14->Checked==false)) //Нер(1)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button7Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox10->Checked==true)&& (CheckBox14->Checked==true)) //С-З - Нер(2)

{

//opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button1Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

if((CheckBox11->Checked==true)&& (CheckBox14->Checked==true)) //Наимен - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button2Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

if((CheckBox12->Checked==true)&& (CheckBox14->Checked==true)) //Фогель - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button3Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

if((CheckBox13->Checked==true)&& (CheckBox14->Checked==true)) //Нер(1) - Нер(2)

{

// opt=0;

for(int s=1;s<=tc;s++)

{

Form1->RandomClick(Sender);

Form1->Button7Click(Sender);

Form1->Button8Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_1[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

Form1->Button4Click(Sender);

//запись в массив

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

{

mas3_2[ii*i+j]=StrToInt(SG3->Cells[ii][j]);

}

//сравнение

for (int ii=0; ii<i-1; ii++)

for (int j=0; j<i-1; j++)

if((mas3_1[ii*i+j]==mas3_2[ii*i+j])&&(mas3_1[ii*i+j]==1))

opt++;

}

}

opt=opt/tc;

opt_f=opt;

opt_f=opt_f/i ;

delete [] mas3_1;

mas3_1=NULL;

delete [] mas3_2;

mas3_2=NULL;

if(i==0)

Image2->Canvas->MoveTo(0,yn);

else

Image2->Canvas->LineTo(xh*(mast/100),yn-(opt_f*yn)); //*(mast/100)

xh=xh+xn/10;

Refresh();

}

//int t;

//t=opt_f*1000;

Image2->Canvas->TextOut((xh-xn/10+hh)*(mast/100),yn-hh-(opt_f*yn),FloatToStr(opt_f));//*(mast/100)

Label18->Caption="OK";

Button12->Enabled=true;

}

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

void __fastcall TForm1::Edit11Change(TObject *Sender)

{

//Button9->Enabled=false;

//Button12->Enabled=false;

}

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

void __fastcall TForm1::Edit10Change(TObject *Sender)

{

//Button12->Enabled=false;

}

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

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

#pragma hdrstop

#include "Fogel.h"

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

#pragma package(smart_init)

int fogel_m(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int min1,min2,t;

//решение

for(int ii=0;ii<n-1;ii++)

{

//строка

for (int i=0; i<n-1; i++)

{

min1=100000;

min2=100000;

for (int j=0; j<n-1; j++)

{

if((mas2[i*(n+1)+n-1]==1) && (mas2[(n-1)*(n+1)+j]==1))

{

if(min1>=mas2[i*(n+1)+j])

{

min2=min1;

min1=mas2[i*(n+1)+j];

}

if(min2>mas2[i*(n+1)+j] && min1<mas2[i*(n+1)+j])

min2=mas2[i*(n+1)+j];

}

}

mas2[i*(n+1)+n]=min2-min1;

}

//столбец

for (int j=0; j<n-1; j++)

{

min1=100000;

min2=100000;

for (int i=0; i<n-1; i++)

{

if((mas2[i*(n+1)+n-1]==1) && (mas2[(n-1)*(n+1)+j]==1))

{

if(min1>=mas2[i*(n+1)+j])

{

min2=min1;

min1=mas2[i*(n+1)+j];

}

if(min2>mas2[i*n+j] && min1<mas2[i*n+j])

min2=mas2[i*n+j];

}

}

mas2[n*(n+1)+j]=min2-min1;

}

//штрафы

min1=-1;

for (int j=0; j<n-1; j++)

{

if(mas2[(n-1)*n+j]==1)

if(min1<mas2[n*n+j])

{

min1=mas2[n*n+j];

ix=n;

jy=j;

}

}

for (int i=1; i<n-1; i++)

{

if(mas2[i*n+n-1]==1)

if(min1<mas2[i*n+n])

{

min1=mas2[i*n+n];

ix=i;

jy=n;

}

}

//наименьший

t=100000;

if(ix==n)

for (int i=0; i<n-1; i++)

{

if((mas2[i*n+n-1]==1) && (mas2[(n-1)*n+jy]==1))

{

if(t>mas2[i*n+jy])

{

t=mas2[i*n+jy];

ix=i;

}

}

}

if(jy==n)

for (int j=0; j<n-1; j++)

{

if((mas2[ix*n+n-1]==1) && (mas2[(n-1)*n+j]==1))

{

if(t>mas2[ix*n+j])

{

t=mas2[ix*n+j];

jy=j;

}

}

}

mas3[ix*n+jy]= 1;

//вычеркивание

mas2[ix*n+n-1]=0;

mas2[(n-1)*n+jy]=0;

}

}

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

#pragma hdrstop

#include "N_st.h"

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

#pragma package(smart_init)

int nai_st(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

//решение

for(int ii=0;ii<n-1;ii++)

{

int t=1000000;

//следующий элемент

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if((SG2->Cells[i][n-1]==1) && (SG2->Cells[n-1][j]==1))

{

if(t>StrToInt(SG2->Cells[i][j]))

{

t=StrToInt(SG2->Cells[i][j]);

ix=i;

jy=j;

}

}

}

mas3[ix*n+jy]= 1;

//вычеркивание

mas2[ix*n+n-1]=0;

mas2[(n-1)*n+jy]=0;

}

}

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

#pragma hdrstop

#include "Ner_p1.h"

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

#pragma package(smart_init)

int ner_pr1(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int sum1,sum2;

int t1=0;

int t2=0;

//решение

for(int ii=0;ii<n-1;ii++)

{

sum1=1000000;

sum2=1000000;

//следующий элемент

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if((mas2[i*n+n-1]==1) && (mas2[(n-1)*n+j]==1))

{

t1=0;

t2=0;

for(int ff=0;ff<n-1;ff++)

{

// for(int ii=0;ii<n-1;ii++)

if((mas2[ff*n+n-1]==1) && (mas2[(n-1)*n+j]==1))

t1=t1+mas2[ff*n+j];

// for(int jj=0;jj<n-1;jj++)

if((mas2[i*n+n-1]==1) && (mas2[(n-1)*n+ff]==1))

t2=t2+mas2[i*n+ff];

}

sum1=3*mas2[i*n+j]-t1-t2;

if(sum1<sum2)

{

sum2=sum1;

ix=i;

jy=j;

}

}

}

mas3[ix*n+jy]= 1;

//вычеркивание

mas2[ix*n+n-1]=0;

mas2[(n-1)*n+jy]=0;

}

}

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

#pragma hdrstop

#include "Ner_p2.h"

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

#pragma package(smart_init)

int ner_pr2(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int sum1,sum2,x1,y1,x2,y2;

bool fl;

//решение

fl=true;

while(fl)

{

fl=false;

sum1=1000000;

sum2=1000000;

//следующий элемент

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

// if((mas2[(n-1)*n+j]==1)||(mas2[i*n+n-1]==1))

// {

for(int ii=0;ii<n-1;ii++)

if(mas3[ii*n+j]==1)

ix=ii;

for(int jj=0;jj<n-1;jj++)

if(mas3[i*n+jj]==1)

jy=jj;

sum1=mas2[i*n+j]+mas2[ix*n+jy]-mas2[ix*n+j]-mas2[i*n+jy];

if(sum1<sum2)

{

sum2=sum1;

x1=i;

y1=j;

x2=ix;

y2=jy;

}

// }

}

if(sum2<0)

{

mas3[x1*n+y1]= 1;

mas3[x2*n+y2]= 1;

mas3[x1*n+y2]= 0;

mas3[x2*n+y1]= 0;

//mas2[(n-1)*n+y1]=1;

//mas2[x1*n+n-1]=1 ;

//mas2[(n-1)*n+y2]=1;

//mas2[x2*n+n-1]=1 ;

fl=true;

}

}

}

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

#pragma hdrstop

#include "Ner_p3.h"

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

#pragma package(smart_init)

int ner_pr3(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int t1,x1,y1,x2,y2,min,min_t,mn;

bool fl,fm,flag;

int *m2=new int [(n+1)*(n+1)];

//решение

for (int i=0; i<n-1; i++)

{

mn=mas2[i*n+0];

for (int j=0; j<n-1; j++)

if(mn>mas2[i*n+j])

mn=mas2[i*n+j];

for (int jj=0; jj<n-1; jj++)

m2[i*n+jj]=mas2[i*n+jj]-mn;

}

for (int j=0; j<n-1; j++)

{

mn=m2[0*n+j];

for (int i=0; i<n-1; i++)

if(mn>m2[i*n+j])

mn=m2[i*n+j];

for (int ii=0; ii<n-1; ii++)

m2[ii*n+j]=m2[ii*n+j]-mn;

}

//следующий элемент

for (int i=0; i<n-1; i++) //матрица м2

{

for(int j=0;j<n-1;j++)

if(mas3[i*n+j]==1)

t1=m2[i*n+j];

for(int j=0;j<n-1;j++)

m2[i*n+j]=m2[i*n+j]-t1;

}

min=m2[0*n+0]; //минимум в м2

for(int i=0;i<n-1;i++)

for (int j=0; j<n-1; j++)

if(min>m2[i*n+j])

{

min=m2[i*n+j];

ix=i;

jy=j;

}

flag=true;

while(flag)

{

flag=false;

if(min<0)//условие

{

mas3[ix*n+jy]=7;//начало

for(int i=0;i<n-1;i++)

if(mas3[i*n+jy]==1)

{

mas3[i*n+jy]=5; //хвост

ix=i;

}

x1=ix;

y1=jy;

fl=true;

fm=true;

mas2[(n-1)*n+y1]=0;

while(fl && fm)

{

min_t=10000000;

for(int j=0;j<n-1;j++)

if((mas2[(n-1)*n+j]==1)||(mas3[x1*n+j]==7))

if((min_t>m2[x1*n+j]+min)&&((mas3[x1*n+j]==0)||(mas3[x1*n+j]==7)))

{

min_t=m2[x1*n+j]+min;

y1=j;

}

if(min_t>=0)

fm=false;

if(mas3[x1*n+y1]==7)

fl=false;

mas3[x1*n+y1]=3; //новый элемент

mas2[(n-1)*n+y1]=0;

min=min_t;

for (int i=0; i<n-1; i++)

if((mas3[i*n+y1]==1)||(mas3[i*n+y1]==5))

{

x1=i;

}

mas3[x1*n+y1]=2; //ноль

}

if(fm==false)

{

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if(mas3[i*n+j]==2)

mas3[i*n+j]=1;

if(mas3[i*n+j]==3)

mas3[i*n+j]=0;

if(mas3[i*n+j]==5)

mas3[i*n+j]=1;

if(mas3[i*n+j]==7)

mas3[i*n+j]=0;

fl=true;

}

}

if(fl==false)

{

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if(mas3[i*n+j]==2)

mas3[i*n+j]=0;

if(mas3[i*n+j]==3)

mas3[i*n+j]=1;

if(mas3[i*n+j]==5)

mas3[i*n+j]=0;

if(mas3[i*n+j]==7)

mas3[i*n+j]=1;

}

}

}

for (int j=0; j<n-1; j++)

mas2[(n-1)*n+j]=1;

}

delete [] m2;

}

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

#pragma hdrstop

#include "Potenc_m.h"

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

#pragma package(smart_init)

void sb(int i,int j,int *u,int *v,int n,int *mas2, int *mas3,int *ux,int *vx);

//

void st(int i,int j,int *u,int *v,int n,int *mas2, int *mas3,int *ux,int *vx)

{

for(int ii=0;ii<n-1;ii++)

if((mas3[ii*n+j]!=0)&&(vx[ii]==0))

{

v[ii]=mas2[ii*n+j]-u[j];

vx[ii]=1;

sb(ii,j,u,v,n,mas2,mas3,ux,vx);

}

return ;

}

//

void sb(int i,int j,int *u,int *v,int n,int *mas2, int *mas3,int *ux,int *vx)

{

for(int jj=0;jj<n-1;jj++)

if((mas3[i*n+jj]!=0)&&(ux[jj]==0))

{

u[jj]=mas2[i*n+jj]-v[i];

ux[jj]=1;

st(i,jj,u,v,n,mas2,mas3,ux,vx);

}

return ;

}

//

int stb(int i,int j,int *, int *, int n,int *c);

//

int strk(int i,int j,int *mas2, int *mas3, int n,int *c)

{

for(int ii=0;ii<n-1;ii++)

if((mas3[ii*n+j]!=0)&&(ii!=i)&&(mas2[(n-1)*n+j]==1)&&(mas2[ii*n+n-1]==1))

{

//mas2[ii*n+n-1]=1;

if(*c<mas3[ii*n+j])

*c=mas3[ii*n+j];

stb(ii,j,mas2,mas3,n,c);

ii=n-1;

}

return *c;

}

//

int stb(int i,int j,int *mas2, int *mas3, int n,int *c)

{

for(int jj=0;jj<n-1;jj++)

//if((mas2[i*n+jj]==0)&&(mas3[i*n+jj]==0)&&(mas2[(n-1)*n+jj]==1))

if((mas3[i*n+jj]!=0)&&(jj!=j)&&(mas2[(n-1)*n+jj]==1)&&(mas2[i*n+n-1]==1))

{

if(mas3[i*n+jj]!=3)

strk(i,jj,mas2,mas3,n,c);

jj=n-1;

}

return *c;

}

//

int stb_z(int i,int j,int *, int *, int n,int *c);

//

int strk_z(int i,int j,int *mas2, int *mas3, int n,int *c)

{

for(int ii=0;ii<n-1;ii++)

if((mas3[ii*n+j]!=0)&&(ii!=i)&&(mas2[(n-1)*n+j]==1)&&(mas2[ii*n+n-1]==1))

{

// if(*c<mas3[ii*n+j])

// *c=mas3[ii*n+j];

if(*c==1)

mas3[ii*n+j]=2;

stb_z(ii,j,mas2,mas3,n,c);

ii=n-1;

}

return *c;

}

//

int stb_z(int i,int j,int *mas2, int *mas3, int n,int *c)

{

for(int jj=0;jj<n-1;jj++)

//if((mas2[i*n+jj]==0)&&(mas3[i*n+jj]==0)&&(mas2[(n-1)*n+jj]==1))

if((mas3[i*n+jj]!=0)&&(jj!=j)&&(mas2[(n-1)*n+jj]==1)&&(mas2[i*n+n-1]==1))

{

if(mas3[i*n+jj]!=3)

{

if(*c==1)

mas3[i*n+jj]=1;

strk_z(i,jj,mas2,mas3,n,c);

}

jj=n-1;

}

return *c;

}

int potenc(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int ix1=0;

int jy1=0;

int ix2=0;

int jy2=0;

int *v=new int [n-1];

int *u=new int [n-1];

int *ux=new int [n-1];

int *vx=new int [n-1];

int cc,m,sums,sumt,c,fl;

int ijc[2][3];

//int oix1=0,ojy1=0,oix2=0,ojy2=0;

cc=1;

while(cc>0)

{

//восстановление нулей

for (int i=0; i<n-1; i++)

{

mas2[i*n+n-1]=1;

u[i]=0;

v[i]=0;

ux[i]=0;

vx[i]=0;

}

for (int j=0; j<n-1; j++)

mas2[(n-1)*n+j]=1;

//нахождение потенциалов

//u[0]=0;

//ux[0]=1;

//for (int j=0; j<n-1; j++)

//for (int i=0; i<n-1; i++)

//{

//if((mas3[i*n+j]!=0))//&&((mas2[i*n+n-1]==1) || (mas2[(n-1)*n+j]==1))

//{

//if(ux[j]==1)

//{

// v[i]=mas2[i*n+j]-u[j];

// for (int x=0; x<n-1; x++)

// if((mas3[i*n+x]!=0))

//{

// u[x]=mas2[i*n+x]-v[i];

// ux[x]=1;

// for (int y=0; y<n-1; y++)

// if((mas3[y*n+x]!=0))

// {

// v[y]=mas2[y*n+x]-u[x];

//}

//}

st(0,0,u,v,n,mas2,mas3,ux,vx);

// }

// }

// }

// 2раза

//for (int j=0; j<n-1; j++)

// for (int i=0; i<n-1; i++)

// {

//if((mas3[i*n+j]!=0))//&&((mas2[i*n+n-1]==1) || (mas2[(n-1)*n+j]==1))

// {

//if(ux[j]==1)

// {

// v[i]=mas2[i*n+j]-u[j];

// for (int x=0; x<n-1; x++)

// if((mas3[i*n+x]!=0))

//{

// u[x]=mas2[i*n+x]-v[i];

// ux[x]=1;

// for (int y=0; y<n-1; y++)

// if((mas3[y*n+x]!=0))

//{

// v[y]=mas2[y*n+x]-u[x];

//}

//}

// st(0,0,u,v,n,mas2,mas3);

//}

// }

// }

//матрица C

cc=0;

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

//if(mas3[i*n+j]==0)

if(cc<(v[i]+u[j]-mas2[i*n+j])) //&&((mas2[i*n+n-1]==1) || (mas2[(n-1)*n+j]==1))

{

cc=v[i]+u[j]-mas2[i*n+j];

ix=i;

jy=j;

}

}

if(cc>0)

{

mas3[ix*n+jy]=3;

//вычеркивание строк и столбцов

m=1;

while(m>0)

{

m=0;

for (int i=0; i<n-1; i++)//строки

{

sums=0;

for (int j=0; j<n-1; j++)

{

if(((mas3[i*n+j]==1)||(mas3[i*n+j]==2)||(mas3[i*n+j]==3))&&(mas2[i*n+n-1]==1)&&(mas2[(n-1)*n+j]==1))

sums=sums+1;

}

if(sums==1)

{

mas2[i*n+n-1]=0;

//mas2[(n-1)*n+j]=0;

m=m+1;

}

}

for (int j=0; j<n-1; j++)//столбцы

{

sumt=0;

for (int i=0; i<n-1; i++)

{

if(((mas3[i*n+j]==1)||(mas3[i*n+j]==2)||(mas3[i*n+j]==3))&&(mas2[(n-1)*n+j]==1)&&(mas2[i*n+n-1]==1))

sumt=sumt+1;

}

if(sumt==1)

{

//mas2[i*n+n-1]=0;

mas2[(n-1)*n+j]=0;

m=m+1;

}

}

}

//цикл и обмен

c=0;

strk(ix,jy,mas2,mas3,n,&c);

strk_z(ix,jy,mas2,mas3,n,&c);

if(c==1)

mas3[ix*n+jy]=1;

if(c==2)

mas3[ix*n+jy]=2;

fl=0;

for(int ii=0;ii<n-1;ii++)

if((mas3[ii*n+jy]!=0)&&(ii!=ix)&&(mas2[(n-1)*n+jy]==1)&&(mas2[ii*n+n-1]==1))

{

if(mas3[ii*n+jy]==2)

{

mas3[ii*n+jy]=0;

fl=1;

}

}

if(fl==0)

for(int jj=0;jj<n-1;jj++)

if((mas3[ix*n+jj]!=0)&&(jj!=jy)&&(mas2[(n-1)*n+jj]==1)&&(mas2[ix*n+n-1]==1))

{

if(mas3[ix*n+jj]==2)

mas3[ix*n+jj]=0;

}

}

}

delete [] v;

delete [] u;

delete [] ux;

delete [] vx;

}

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

#pragma hdrstop

#include "S_z.h"

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

#pragma package(smart_init)

int s_zy(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

//for(int ii=0;ii<n-1;ii++)

//{

//следующий элемент

//for (int i=0; i<n-1; i++)

// for (int j=0; j<n-1; j++)

// {

// if((mas2[i*n+n-1]==1) && (mas2[(n-1)*n+j]==1))

// {

// ix=i;

// jy=j;

// i=n;

// j=n;

// }

// }

//mas3[ix*n+jy]= 1;

//вычеркивание

//mas2[ix*n+n-1]=0;

//ms2[(n-1)*n+jy]=0;

//}

for (int i=0; i<n-1; i++)

{

mas3[i*n+i]= 1;

}

}

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

#pragma hdrstop

#include "Venger_m.h"

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

#pragma package(smart_init)

//

int stb(int i,int j,int *, int *, int n,int *c,int *x,int *y);

//

int strk(int i,int j,int *mas2, int *mas3, int n,int *c,int *x,int *y)

{

int z=0;

for(int ii=0;ii<n-1;ii++)

if(mas3[ii*n+j]==1)

{

mas2[ii*n+n-1]=1;

z=stb(ii,j,mas2,mas3,n,c,x,y);

if(*c==0)

*c=3;

ii=n-1;

}

return *c;

}

//

int stb(int i,int j,int *mas2, int *mas3, int n,int *c,int *x,int *y)

{

int z=0;

for(int jj=0;jj<n-1;jj++)

if((mas2[i*n+jj]==0)&&(mas3[i*n+jj]==0)&&(mas2[(n-1)*n+jj]==1))

{

mas2[(n-1)*n+jj]=0;

mas3[i*n+jj]=2;

strk(i,jj,mas2,mas3,n,c,x,y);

z=1;

if(*c==0)

*c=2;

if((*x==-1)&&(*y==-1))

{

*x=i;

*y=jj;

}

jj=n-1;

return *c;

}

//

int stb2(int i,int j,int *, int *, int n);

//

int strk2(int i,int j,int *mas2, int *mas3, int n)

{

int x=0;

for(int ii=0;ii<n-1;ii++)

if(mas3[ii*n+j]==2)

{

mas3[ii*n+j]=1;

tb2(ii,j,mas2,mas3,n);

ii=n-1;

}

return x;

}

//

int stb2(int i,int j,int *mas2, int *mas3, int n)

{

int x=0;

for(int jj=0;jj<n-1;jj++)

if((mas3[i*n+jj]==1)&&(jj!=j))

{

mas3[i*n+jj]=0;

strk2(i,jj,mas2,mas3,n);

x=1;

jj=n-1;

}

return x;

}

int venger(int *mas2, int *mas3, int n)

{

int ix=0;

int jy=0;

int min,zvt,zvs;

int e3,e2;

int c;

//

//минус по столбцам

for (int i=0; i<n-1; i++)

{

min=mas2[i*n+0];

for (int j=1; j<n-1; j++)

{

if(min>mas2[i*n+j])

min=mas2[i*n+j];

}

for (int j=0; j<n-1; j++)

{

mas2[i*n+j]=mas2[i*n+j]-min;

}

}

//минус по строкам

for (int j=0; j<n-1; j++)

{

min=mas2[0*n+j];

for (int i=1; i<n-1; i++)

{

if(min>mas2[i*n+j])

min=mas2[i*n+j];

}

for (int i=0; i<n-1; i++)

{

mas2[i*n+j]=mas2[i*n+j]-min;

}

}

// 0->*

int ns=0;

for (int i=0; i<n-1; i++)

{

zvt=0;

for (int j=0; j<n-1; j++)

{

if((mas2[i*n+j]==0)&&(zvt==0))

{

zvs=0;

for (int ii=0; ii<n-1; ii++)

if(mas3[ii*n+j]==1)

zvs=1;

if(zvs==0)

{

mas3[i*n+j]=1;

zvt=1;

ns=ns+1;

}

}

}

}

//ns=0;

while(ns<n-1)

{

ix=-1;

jy=-1;

//выделение столбцов

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

if(mas3[i*n+j]==1)

mas2[i*n+n-1]=0;

//первый этап

//e3=0;

e2=0;

for (int i=0; i<n-1; i++)

{

if(mas2[i*n+n-1]==1)

for (int j=0; j<n-1; j++)

{

if((mas2[i*n+j]==0)&&(mas3[i*n+j]==0))

{

mas2[(n-1)*n+j]=0;

mas3[i*n+j]=2;

// for (int ii=0; ii<n-1; ii++)

// if(mas3[ii*n+j]==1)

// {mas2[ii*n+n-1]=1; e3=1; i=0; e2=0;}

// else {if(e3==0) {e2=1; i=n-1;}}

c=0;

e3=strk(i,j,mas2,mas3,n,&c,&ix,&jy);

if(c==0)

{ix=i; jy=j;}

if(c%2==0)

{

i=n-1;

j=n-1;

}

else {ix=-1; jy=-1;}

}

}

}

//проверка на свободные нули

if(c%2==1)

{

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if((mas2[i*n+n-1]==1)&&(mas2[(n-1)*n+j]==1))

if((mas2[i*n+j]==0)&&(mas3[i*n+j]==0))

{

c=2;

ix=i;

jy=j;

}

}

}

//третий этап

if(c%2==1)

{

min=1000000;

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

if((mas2[i*n+n-1]==1) && (mas2[(n-1)*n+j]==1))

if(min>mas2[i*n+j])

min=mas2[i*n+j];

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

{

if(mas2[i*n+n-1]==0)

mas2[i*n+j]=mas2[i*n+j]+min;

if(mas2[(n-1)*n+j]==1)

mas2[i*n+j]=mas2[i*n+j]-min;

}

}

//второй этап

if(c%2==0)

{

mas3[ix*n+jy]=1;

stb2(ix,jy,mas2,mas3,n);

ns++;

}

// очисткапо стр и стб выделений

for (int i=0; i<n-1; i++)

for (int j=0; j<n-1; j++)

if(mas3[i*n+j]==2)

mas3[i*n+j]=0;

for (int i=0; i<n-1; i++)

mas2[i*n+n-1]=1;

for (int j=0; j<n-1; j++)

mas2[(n-1)*n+j]=1;

}

}

Размещено на Allbest.ru


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

  • Функциональное и эксплуатационное назначение изделия. Перечень требований пользователя к программному изделию. Программные ограничения, совместимость. Требования к параметрам технических средств. Безопасность и секретность, требования к надежности.

    курсовая работа [574,6 K], добавлен 27.04.2011

  • Функциональное и эксплуатационное назначение изделия, методологические ограничения. Требования к составу и параметрам технических средств. Описание алгоритма, входные и выходные данные. Стадии и этапы разработки, технико-экономическое обоснование.

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

  • Требования к программному изделию и параметрам технических средств. Описание пользовательского интерфейса для автоматизированной системы учёта товаров на оптовом складе. Обоснование выбора языков программирования, организации входных и выходных данных.

    дипломная работа [3,4 M], добавлен 02.04.2013

  • Системный анализ предметной области. Требования к программе и программному изделию, к функциональным характеристикам, к надежности, составу и параметрам технических средств. Обоснование выбора средств выбора для хранения и обработки базы данных.

    реферат [403,8 K], добавлен 02.02.2014

  • Число линейно независимых уравнений. Отрицательная базисная переменная. Симплекс-метод решения задач линейного программирования. Экстремальное значение целевой функции. Метод северо-западного угла. Задачи нелинейного программирования. Функция Лагранжа.

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

  • Исследование методов интерполяции функции и разработка программного продукта для автоматизации расчётов, выполняемых в данных методах. Обоснование выбора языка программирования. Требования к программе и программному изделию. Организация работы с ПЭВМ.

    дипломная работа [2,1 M], добавлен 16.06.2017

  • Назначение и цели создания системы. Требования к программе или программному изделию, к информационной и программной совместимости, к составу и параметрам технических средств. Алгоритм Rijndael. Назначение и условия применения программного продукта.

    дипломная работа [1,3 M], добавлен 01.03.2009

  • Анализ использования разработки, обзор средств программирования и описание языков. Требования к составу и параметрам технических средств. Построение алгоритма и требования к его функциональности. Описание рабочего места на вычислительном центре.

    дипломная работа [2,6 M], добавлен 19.06.2017

  • Математическая модель задачи. Симплекс-таблица. Решение задачи линейного программирования. коэффициенты при переменных в целевой функции. Метод северо-западного угла. Система неравенств в соответствии с теоремой Куна-Таккера. Функция Лагранжа.

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

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

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

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