Симплекс. моделирование

Автор: Пользователь скрыл имя, 21 Декабря 2012 в 13:42, курсовая работа

Описание работы

Бiрiншiден, бұл аналитикалық жолы. Ол зерттелген системены xq ш сандар негiзiнде, оптималды жауабын сипаттайды.
Екiншiден, бұл модельдеу жолы. Бұл жағдайда басындағы қалпы және негiзгi заңдардың қарым-қатынасы берiледi. Осыдан кейiн жүйе «өмірге» енедi, бақылаушы оны бақылайды, кіру арқылы бұл процестен керекті аспекттерін алады.
Математикалық әдiстердi пайдалану үшiн, ең алдымен, тиiмдi шешiмiн таппақшы болған есептің өзінің қойылымын жазуымыз қажет. Математикалық қойылымда берiлген ресурстар, өндiрiстiк технология, қорытынды шешiмдер және олардың арасындағы байланыстар математикалық өрнектер, теңсiздiктер арқылы керсетiледi.

Содержание

Кіріспе……………………………………………………………………………..3
1. Симплекс әдісі
1.1 Сызықтық бағдарламалау есебін шешудің симплекс әдісі……………………….…4-5
1.2 Симплекс әдісінің есептеу схемасының негіздері…………………………….6-8
Негізгі бөлім
2. Сызықтық бағдарламалау есебін математикалық әдісмен шешу
2.1 Есептің қойылымы…………………………………………………………....9
2.2 Математикалық моделін құру…………………………………………………..10
2.3 Есепті симплекс әдісімен шығару…………………………………………..11-13
2.4 Программа листингісі………………………………………………………..14-20

Қорытынды …………………………………………………………………….….21

Пайдаланылған әдебиеттер...............................................................................................22

Работа содержит 1 файл

симплекс.doc

— 326.50 Кб (Скачать)

  0,8 Хі+1,6 Х2   ≤ 6,4

3)Мақсат функциясы (оптималды шешім табудағышарты) 
                          2,4Хі- Сыртқы жұмыстарға арналған

  Хі мөлшердегі бояудің сату бағасы. 
                          1,6Х2- Ішкі жұмыстарға арналған

  Х2 мөлшердегі бояудің сату бағасы. 
                          2,4Хі+ 1,6Х2- Ішкі және сыртқы жүмыстарға арналған

  Хь Х2 мөлшердегі бояудың жалпы сату бағасы.

4)Теріс болмау шарты

 



Сонымен есептің (1), (2), (3) математикалық моделі -сызықгы модель болады, себебі мақсат функциясындағы және   шектеулердегі Хі, Х2 - айнымалылар дәрежесі бірге тең.

 

 

 

2.3 Есепті симплекс әдісімен шығару

Экономика математикалық моделі

                     

                     

Бұл қосымша  айнымалылар экономикалық мәні бойынша  өнімге қолданбаған шикізат мөлшерін көрсетеді. Теңдіктер жүйесін векторлық түрде жазамыз.

хьх2,Хз5Х4,Х5 векторлар арасында 3 бірлік векторлар болғандықтан, есептің тірек жоспарын жазуға болады. ХЧ0;0;4,8;6,4;2) Енді симплекс кестесін құраймыз.

 

 

Айнымалы

Сб

в,

С1

С2

С3

С4

С5

Q

2.4

1.6

0

0

0

Х3

0

4.8

0.8

1.6

1

0

0

6

Х4

0

6.4

 

0.8

0

1

0

4

Х5

0

2

0

1

0

0

1

 

AJ

0

0

-2.4

1.6

0

0

0

 

 

l-ші итеграция үшін симплекс кестесін қарағанда, алғашқы тірек жоспарды оптималдыққа тексереміз.

1,6 индекс қатар мән беріп тұр. Кестедегі   хьХ2  айнымалылардың мәні 0-ге тең, ол қосымша мәнін шектеулермен байланысты қабылдаймыз.

Яғни өндірілген өнімнің құны жоқ. Бұл жоспар оптималды емес. Теріс мәндер тек өндірілген красканың жалпы бағасын жоғарылатуға болады, дегенмен қаншалықты баға өседі, егер жоспарға кез-келген өнімді енгізсек.

-2,4 саны жоспарға А краскінің 1т. енгізсек. 2,4 тенгеге краска өндіру өсетінін көрсетеді. Егер жоспарға В краскісін қоссақ, онда өндірілген краска 1,6 тенгеге өседі. Сондыктан, экономикалық жақтан ең тиімді А краскісін жоспарға енгізу. Мұны симплекс әдісінің қолдануына қарай жасау керек. Өйткені, абсолют шамасы бойынша ең үлкен AJ және Х4 бағанасымен анықталады.

 

Q=min(Bi/aIJ),aIJ>0

Q=min(6,4/1,6)=4

 

4 санын таба отырып, экономикалық жағынан А краскісінің қанша т. фирма өндіре алады, шығындары және әр краска мүмкіндігін пайдалана отырып, шектелген  мөлшеріне сәйкес, 1 краскіге кететін 0,8т. мөлшері және 1,6т. және От. қарастырғанда, ол 4 шектік факторы А краскінің өндіру үшін олифа болып отыр. Соны ала отырып, фирма А краскінің 4т. өндіре алады. Демек, олифа толығымен қолданылады. Соған сәйкес X» базисі шығады, Хі базисі кіреді және 2-ші жол негізі болып табылады. Ол осы бағанамен жол қиылысындағы элемент генералды элемент деп аталады.

Айнымалы

Сб

в,

С1

С2

С3

С4

С5

Q

2.4

1.6

0

0

0

Х3

0

1.6

0

 

1

-0.5

0

1.3

Х1

2.4

4

1

0.5

0

0.6

0

8

Х5

0

2

0

1

0

0

1

2

AJ

 

9.6

0

-0.4

0

1.5

0

 

 

Айнымалы

Сб

в,

С1

С2

С3

С4

С5

Q

2.4

1.6

0

0

0

Х2

1.6

1.33

0

1

0.8

-0.4

0

 

Х1

2.4

3.33

1

0

-0.4

0.8

0

 

Х5

0

0.66

0

0

-0.8

0.4

1

 

AJ

 

10.1

0

0

0.3

1.3

0

 

 

Ві 4,8 жаңа формасын алу үшін

Краска шығару жоспары 3,33т. А бояу бойынша, ал В бояу бойынша 1,33т. шығару оптималды.



 

 



Программа листингісі

unit Unit2; 

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ShellAPI, ExtCtrls, jpeg, Grids, OleCtrls, ShockwaveFlashObjectsTLB;

type TForm2 = class(TForm) Label 1:

TLabel; Timer 1: TTimer; Label2:

TLabel; LabeB: TLabel; Label4:

TLabel; Label5: TLabel; Label6:

TLabel; Label7: TLabel; Label 8:

TLabel; Label9: TLabel; Labelll:

TLabel; Label 10: TLabel; Bevel 1:

TBevel; Bevel2: TBevel; BeveB:

TBevel; Bevel4: TBevel; Label 12:

TLabel; Label 13: TLabel; Timer2:

TTimer; Label 14: TLabel; Label 15:

TLabel; ТітегЗ: TTimer; Label 16:

TLabel; Flash 1: TShockwaveFlash;

OpenDialogl: TOpenDialog; Flash2:

TShockwaveFlash;

                        Flash3: TShockwaveFIash;

                        Flash4: TShockwaveFIash;

                        Flash5: TShockwaveFIash;

                        Flash6: TShockwaveFIash;

                       procedure TimerlTimer(Sender: TObject);

                       procedure FormCreate(Sender: TObject);

                       procedure Labe!2MouseDown(Sender: TObject; Button:

                     TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure LabeI4MouseDown(Sender: TObject;    

Button:  TMouseButton;

 Shift: TShiftState; X, Y: Integer);

procedure Label3MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure Label2MouseLeave(Sender: TObject);

procedure Label2MouseEnter(Sender: TObject);

procedure Label4MouseLeave(Sender: TObject);

procedure Label4MouseEnter(Sender: TObject);

procedure Label3MouseLeave(Sender: TObject);

procedure Label3MouseEnter(Sender: TObject);

procedure Label2Click(Sender: TObject);

procedure Label4Click(Sender: TObject);

procedure Label3Click(Sender: TObject);

procedure Label5Click(Sender: TObject);

procedure Label 10Click(Sender: TObject);

procedure Label5MouseEnter(Sender: TObject);

procedure Label5MouseLeave(Sender: TObject);

procedure Label5MouseDown(Sender: TObject; Button:

TMouseButton;

Shift: TShiftState; X, Y: Integer); procedure Labell2MouseMove(Sender: TObject;    Shift: TShiftState; X,

  Y: Integer); procedure Label 12MouseLeave(Sender: TObject);

   procedure Label 13MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

   procedure Label 13MouseLeave(Sender: TObject);

   procedure Timer2Timer(Sender: TObject);

   procedure FormCloseQuery(Sender: TObject; varCanClose: Boolean);

   procedure Timer3Timer(Sender: TObject);

  procedure Label 12Click(Sender: TObject);

procedure Label 13Click(Sender: TObject);

                       private

{ Private declarations } public

{ Public declarations }

end;

 var Form2: TForm2;

implementation

uses Unitl;

{$R*.dfm}

procedure TForm2.TimerlTimer(Sender: TObject);

begin

if(Labell .Font.Color=clWhite) then

begin

Label 1 .Font.Color:=clblue;

end

else

Label 1 .Font.Color:=clWhite;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

Flash1.Movie:=OpenDialogl .FileName;       Flash2.Movie:=OpenDialogl.FileName;

Flash3.Movie:=OpenDiaIogl.FileName; Flash4.Movie:=OpenDialogl.FileName;

Flash5.Movie:=OpenDialogl.FileName;

Flash6.Movie:=OpenDialogl .FileName;

Label 16.Caption:=dateToStr(date);

Labell5.Caption:=TimeToStr(tirne);

Label2.Font.Color:=clBlue;

Label .Font.Color:=clBlue;

Label4.Font.Color:=clBlue;

Label5.Font.Color:=clBlue;

Label1.Font.Color:=cl White;

Label 10.Font.Color:=clBlue;

end;

procedure TForm2.Label2MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Label6.Font.Color:=clRed;

end;

   procedure TForm2.Label4MouseDown(Sender: TObject; Button: I   MouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Label7.Font.Color:=clRed;

end;

   procedure TForm2.Label3MouseDown(Sender: TObject; Button: 1   MouseButton;

Shift: TShiftState; X, Y: Integer);

begin

                       Label8.Font.Color:=clRed;

end;

                       procedure TForm2.Label2MouseLeave(Sender: TObject);

begin

Label2.Font.Color:=clBlue;

Label2.Font.Style:=[fsUnderline];

Label6.Left:=385;

end;

procedure TForm2.Label2MouseEnter(Sender: TObject);

begin

Label2.Font.Color:=clBlack;

Label2.Font.Style:=[fsBold];

Label6.Left:=400;

end;

procedure TForm2.Label4MouseLeave(Sender: TObject);

                       begin

Label4.Font.Color:=clBIue;

Label4.Font.Style:=[fsUnderline];

Label7.Left:=349;

end;

procedure TForm2.Label4MouseEnter(Sender: TObject);

begin

Label4.Font.Color:=clBlack;

Label4.Font.Style:=[fsBold];

Label7.Left:=366;

end;

procedure TForm2.Label3MouseLeave(Sender: TObject);

begin

Label3 .Font.Color :=clBlue;

Label3.Font.Style:=[fsUnderline];

Label8.Left:=443;

end;

procedure TForm2.Label3MouseEnter(Sender: TObject);

begin

Label3.Font.Color:=clBlack;

Label3 .Font. Sty le:=[fsBold];

Label8.Left:=465;

end;

procedure TForm2.Label2Click(Sender: TObject);

begin

Shellexecute(self.Handle,'open','info\algoritm.doc',nil,nil,SW_SHOWNORMAL);

end;

procedure TForm2.Label4Click(Sender: TObject);

begin

Shellexecute(seimandle/open7info\Sxema.doc>il,nil,SW_SHOWNORMAL);

end; 

procedure TForm2.Label3Click(Sender: TObject);

begin

Shellexecute(se]f.Handle,,openVinfo\mat_madel.doc',nil,ni],SW_SHOWNORMAL)      ;

//Shellexecute(Self.Handle,'openVproga\simpleks\sympleks_metod.exe',nil,nil,SW   _SHOW);

end;

procedure TForm2.Label5Click(Sender: TObject);

begin

Shellexecute(self.Handle,'openVprogram\Xuka- Dgivsa\Projectl.exe',nil,nil,SW_SHOWNORMAL);

end;

procedure TForm2.LabellOClick(Sender: TObject);

begin

if(Form2.Height=230) then

begin

Flashl.Stop;

Flash2.Stop;

Flash3.Stop;

Flash4.Stop;

Label2.Enabled:=false;

Label3 .Enabled:=false;

Label4.Enabled:=false;

Label5.Enabled:=false;

Label6.Enabled:=false;

Label7.Enabled:=false;

Label8.Enabled:=false;

Label9.Enabled:=false;

Label 16.Font.Color:=clRed; Labell5.Font.Color:=clRed; Label 16.Top:=244;    Labell5.Top:=244;

Label 1.Hide; Label 14. Show; Timerl .Enabled:=false; Timer2.Enabled:=True; Label 12. Show; Label 13. Show; Flash5.show; Flash6.show;

Bevel2.Show;

Bevel3.Show;

BeveW.Show;

Label ll.Caption:='(-)'; Form2.Height:=300;

LabellO.Font.Color:=clred;

end else

if(Form2.Height=300) then

begin

Flashl.Play; Flash2.Play;

Flash3.Play;

Flash4.Play;

Label2.Enabled:=true;

Label3.Enabled:=true;

Label4.Enabled:=true;

Label5.Enabled:=true;

Label6.Enabled:=true;

Label7.Enabled:=true;

Label8.Enabled:=true;

Label9.Enabled:=true;

Label 16.Font.Color:=clBlue;

Label 15.Font. Color: =clBlue;

Labell6.Top:=175; Labell5.Top:=175;

Label H.Hide;

Label 1.Show;

Timer2.Enabled:=false;

Timerl .Enabled:=True;

Label 10.Font.Color:=clBlue;

Label 11.Caption:-(+)'; Form2.Height:=230;

Label 12.Hide;

Label 13.Hide;

Flash5.Hide;

Flash6.Hide;

Bevel2.Hide;

BeveB.Hide;

Bevel4.Hide;

end;

end;

procedure TForm2.Label5MouseEnter(Sender: TObject);

begin

Label5.Font.Color:=clBlack;

Label5 .Font. Style:=[fsBold];

Label9.Left:=358;

end;

procedure TForm2.Label5MouseLeave(Sender: TObject);

begin

Label5 .Font.Color :=clBlue;

Label 5 .Font.Style:=[fsUnderline];

Label9.Left:=343;

end;

procedure TForm2.Label5MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

Label9.Font.Color:=clRed;

end;

procedure TForm2.Label 12MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

Label 12.Font.Color:=clBlack;

Label 12 .Font. Style:=[fsBold];

end;

procedure TForm2.Labell2MouseLeave(Sender: TObject);

begin

Label 12 .Font.Color :=clred;

Labell2.Font.Style:=[fsUnderline];

end;

procedure TForm2.Labell3MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

Label 13. Font. Color:=clB lack; Labell 3 .Font.Style:=[fsBold];

end;

procedure TForm2.Labell3MouseLeave(Sender: TObject);

begin

Label 13. Font. Color: =clred;

Labell3.Font.Style:=[fsUnderline];

end;

procedure TForm2.Timer2Timer(Sender: TObject);

begin

if(Label 14.Font.Color=clWhite) then

begin

Label 14.Font.Color:=clred;

Информация о работе Симплекс. моделирование