Қарапайым актілерді белгілеп көрсету

Автор работы: Пользователь скрыл имя, 02 Апреля 2014 в 21:38, курсовая работа

Краткое описание

Электронды есептеуіш машинаның шығуымен байланысты жаңа ғылыми-техникалық революция ғылымның жаңа даму бағытын орнатты. Осындай бағыттардың бірі – операцияны зерттеу ғылымы.
Операция дегеніміз – белгілі мақсатқа жеткізетін және нақты ниетпен біріктірілген шаралар жиынтығы. Операциялар: басқарылатын және басқарылмайтын болады.
Операцияны зерттеу дегеніміз – автоматтандырылған басқару жүйесіндегі басқару есептерін шешуге қолданатын ғылыми тәсіл. Операцияны зерттеу методологиясы негізгі мына топтарға бөлінеді:
- анықтамалар, кезеңдер, принциптер, есептер;
- операцияны зерттеудің математикалық әдістері. Оған сызықтық бағдарламалау, транспорттық, дискреттік бағдарламалау, бейсызықтық бағдарламалау, динамикалық бағдарламалау, ойындар теориясы кіреді;
- АБЖ жобалау кезіндегі операцияларды зерттеудің әдістерін қолдану. Онда АБЖ-ң алгоритмін қамтамасыз ету, информациямен АБЖ-ны қамтамасыз ету, техникалық қамтамасыз ету керек.

Содержание

Кіріспе..............................................................................................................................4
1 Қарапайым актілерді белгілеп көрсету.....................................................................5
2 Жалпы математикалық модельді құру, мақсатты функцияны таңдау және негіздеу............................................................................................................................5
3 Алгоритмнің маңызды ойын баяндау.......................................................................5
3.1 Солтүстік-батыс және минималдау әдісі...................................................6
3.2 Потенциалдау әдісі......................................................................................6
4 Оңтайландыру есебінің айқын математикалық өрнегінің өңделіп, жетілдіруі, оның сандық түрдегі шешімі...................................................................................................7
5 Программа листингісі...............................................................................................12
Программаны баяндау бөлімі.......................................................................................22
Қорытынды....................................................................................................................23
Қолданылған әдебиеттер..............................................................................................24
Қосымшалар...................................................................................................................25

Прикрепленные файлы: 1 файл

Паскаль транспортная задача.doc

— 262.00 Кб (Скачать документ)

 

         Vj

 

Ui

 

  V1=2

 

   V2=4

 

   V3=6

 

   V4=5

 

   V5=6

 

   U1=0

              2

      80

_             4

      40

                +

   

 

   U2=1

 

+             3

      20  

_                5   

       70

               4

       20

 

 

   U3=2

     

               3

       80

            4

     50



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J(-)min{40;70}=40

 

            Vj

Ui 

 

  V1=2

 

   V2=-1

 

   V3=1

 

   V4=0

 

   V5=1

 

   U1=0

                       2

   80

               4

                  1

40

6 6

             7

 

   U2=4

                 3

3

60

                 5

30

_        4

20

+ 2

 

   U3=-3

               8

                9 

 6

                3

+ 80

4 4

_ 50


 

2*80+1*40+3*60+5*30+4*20+3*80+4*50=160+40+180+150+80+240+200=1050

 

vj-ui=cii                              vj-ui<=cij                                              v1-u5<=8

v1-u1=cij                                           v2-u1<=4                               v2-u5<=9

v1-u1=2                              v4-u1<=6                               v3-u3<=6

v2-u2=3                              v5-u1<=7

v3-u1=1                              v1-u2<=3

v3-u2=5                               v5-u2<=2

v4-u2=4                            

v4-u3=3

v5-u3=4

 

v1-u1=2                               v2-u1<=4                      

u1=0,v1=2                           v4-u1<=6

v3-u1=1                               v5-u7<=7

u1=0,v3=1                            v2-u2<=3

v2-u2=3                               v5-u2<=2

v2=-1,u2=-4                         v1-u3<=8

v3-u1=1                                v2-u3<=9

v3=1,u1=0                            v3-u3<=6

v-u2=5

v2=1, u2=4

v4-u2=4

v2=-4, v4=0

v4=0, u3=3

v5-u3=u

v3=-3, v5=1

 

uj-ui=cij                                                 vj-ui<=cij                                                                   

v1-u1=2                                 v2-u1<=4

v3-u1=3                                 v4-u1<=6

v2-u2=3                                 v5-u1<=7

v3-u1=1                                 v2-u2<=3

v3-u2=5                                 v5-u2<=2                

v4-u2=4                                 v1-u3<=8

v4-u3=3                                 v2-u3<=9

v5-u3=4                                 v3-u3<=6

 

 

Vj

Ui       

 

V1=2

 

V2=-1

 

V3=1

 

V4=-3

 

V5=-2

 

U1=0

_            2

80

4

+               1

40

              6

              7

 

U2=-4

+           3        

                          3

60

                 5

_ 30

              4

              2

      20

 

U3=-6

              8

9

                6

              3

100

              4

30



 

 

 

 

 

 

 

 

 

 

 

 

 

 

vj-ui=cij                                                  vj-ui≤4

v1-u1=2                    v1=2                       v2-u1≤4

v3-u1=1                    v3=1                      v4-u1≤ 6 

v1-u2=3                    v3=-1                   v5-u1≤7

v3-u2=5                    u2=-4                    v1-u2≤ 3                 α 21=3

v5-u2=2                    v5=-2                    v4-u2 ≤4

v4-u2=3                    v4=-3                     v1-u2 ≤8

v5-u3=4                    u3=-6                    v2-u3 ≤9

                                                              v3-u3 ≤6                 α33=1

 

 

 

 

 

     Vij

Ui 

V1=2

V2=2

V3=1

V4=0

V5=1

 

   U1=0

      50      2   

4

     70       1

              6

7

 

U2=-1

     30           3

          60     3

5

               4

      20     2

 

U3=-3

                 8

               7

                6

   100     3

       30    4




 

 

 

 

 

 

 

 

 

Vj-ui=cij 

V1-u1= 2                            v1=2             

V3-u2=1                             v3=1

V1-u2=3                             u2=-1

V2-u2=3                             v2=2        

V5-u2=2 v5=1 z*=100+70+90+180+40+300+120=900

V4-u3=3                             v4=0

V5-u3=4                    u3=-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Program transportnaj_zadatsha;

Uses Crt;

Label l1;

Const N=6;

      n1=7; n2=7;

      Sa:longint=0;

      Sb:longint=0;

Type predpr=Array [1..N] of longint;

     rasp=Array [1..N,1..N] of longint;

Var A,B,alfa,betta,B_d,x:predpr;

    c,p:rasp;

    f,f0,x_min,Sp:longint;

    Nt,x_p,r,r_min,ki,kj,Na,Nb,h,l,i,j:byte;

    d:char;

    u:Array[1..N*N] of byte;

 

Procedure Nul (var a:predpr);  {обнуляет  массив}

var i:byte;

Begin

     for i:=1 to N do a[i]:=0;

End;

 

Procedure PrintS (x,y:byte; s:string; c:byte);

Begin                    {вывод строки s}

     TextColor(c);

     GotoXY(x,y);

     Write(s);

End;

 

Procedure Print (x,y:byte; n:byte; a:longint; c:byte);

Begin                    {вывод числа a}

     TextColor(c);

     GotoXY(x,y); Write(' ':n);

     GotoXY(x,y); Write(a);

End;

 

Procedure Rid (var x:longint; y:byte); {проседура  ввода числа x}

var i:integer;

    s:string;

    c:char;

    j,k:byte;

Begin

     s:=''; i:=1;

     TextColor(11);

     Repeat

           c:=ReadKey;

           Case ord(c) of

48..57:         begin s:=s+c;

                      Write(c);

                      inc(i);

                end;

8:              if i>1 then begin dec(i);

                      Delete(s,i,1);

 

                      Write(chr(8),' ',chr(8));

                end;

           end;

           j:=WhereX;

           GotoXY(60,1); ClrEOL;

           if i>y then begin

              TextColor(4);

              Write('Не более ');

              for k:=1 to y-1 do Write('9');

              TextColor(11);

           end;

           GotoXY(j,1);

     Until (ord(c)=13) and (i<y+1);

     val(s,x,i);

End;

 

Procedure goriz (a,b,c,d,e:char);        {Процедуры goriz, wertic}

var i,j:byte;                            {и Tabl выводят таблицу}

Begin

     Write(a);

     for i:=1 to n2 do Write(b);

     Write(c);

     for i:=1 to Nb do begin

         for j:=1 to n1 do Write(b);

         if i<>Nb then Write(d) else Write(c);

     end;

     for i:=1 to 4 do Write(b);

     Write(e);

End;

 

Procedure wertic;

var i:byte;

Begin

     Write('¦',' ':n2,'¦');

     for i:=1 to Nb-1 do Write(' ':n1,'¦');

     WriteLn(' ':n1,'¦',' ' :4,'¦');

End;

 

Procedure Tabl;

Begin

    ClrScr;

    TextColor(1);

    h:=6+Na*3;

    l:=14+Nb*7;

    GotoXY(1,3);

    for i:=3 to h do wertic;

    GotoXY(1,2);

    goriz('+','-','-','-','+');

    for i:=1 to Na+1 do begin

        GotoXY(1,i*3+2);

        if (i=1) or (i=Na+1)

           then goriz('¦','-','+','+','¦')

           else goriz('+','-','+','+','¦');

    end;

    GotoXY(1,h+1);

    goriz('+','-','-','-','+');

    TextColor(9);

    for i:=1 to Na do begin

        GotoXY(5,i*3+3);

        Write('A',i);

    end;

    for i:=1 to Nb do begin

        GotoXY(i*(n1+1)+n2-2,3);

        Write('B',i);

    end;

    l:=Nb*(n1+1)+n2+3;

    h:=Na*3+6;

    PrintS(4,3,'\Bj',9);

    PrintS(4,4,'Ai\',9);

    PrintS(1,1,'Таблица N1',14);

    PrintS(l,4,'alfa',9);

    PrintS(3,h,'betta',9);

End;

 

Procedure W_W (var a:predpr; b:byte; c:char); {Ввод в таблицу}

var i,l,m:byte;                               {кол-ва продукции}

Begin                                         {поставщ. и потреб.}

     for i:=1 to b do begin

         TextColor(3);

         GotoXY(32,1);

         ClrEOL;

         Write(c,i,'=  ');

         Rid(a[i],n1);

         TextColor(14);

         Case c of

'A':     GotoXY(n2-trunc(ln(a[i])/ln(10)),i*3+4);

'B':     GotoXY(n2+i*(n1+1)-trunc(ln(a[i])/ln(10)),4);

         end;

         Write(a[i]);

     end;

End;

 

Function FF:longint;        {Вычисление стоимости плана}

var i,j:byte;

    f:longint;

Begin

     f:=0;

     for i:=1 to Na do

         for j:=1 to Nb do

             if p[i,j]>0 then inc(f,c[i,j]*p[i,j]);

     GotoXY(65,Nt+2);

     TextColor(10);

     Write('F',Nt,'=',f);

     FF:=f;

End;

 

Function a_b:boolean;      {Расчет потенциалов}

var k,i,j:byte;            {alfa и betta}

    Z_a,Z_b:predpr;

    d:boolean;

Begin

     Nul(Z_a); Nul(Z_b);

     alfa[1]:=0; Z_a[1]:=1; k:=1;

     Repeat

           d:=1=1;

           for i:=1 to Na do

               if Z_a[i]=1 then

                  for j:=1 to Nb do

                      if (p[i,j]>-1) and (Z_b[j]=0) then begin

Информация о работе Қарапайым актілерді белгілеп көрсету