на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Решение транспортной задачи в векторной постановке в среде Maple
p align="left">(нашли минимальное значение функции)

f := 28350

>[x11,x12,x13,x14,x15,x16,x17,x18,x19,x110];[x21,x22,x23,x24,x25,x26,x27,x28,x29,x210];[x31,x32,x33,x34,x35,x36,x37,x38,x39,x310];[x41,x42,x43,x44,x45,x46,x47,x48,x49,x410];[x51,x52,x53,x54,x55,x56,x57,x58,x59,x510]; [x61,x62,x63,x64,x65,x66,x67,x68,x69,x610]; [x71,x72,x73,x74,x75,x76,x77,x78,x79,x710]; [x81,x82,x83,x84,x85,x86,x87,x88,x89,x810]; [x91,x92,x93,x94,x95,x96,x97,x98,x99,x910]; [x101,x102,x103,x104,x105,x106,x107,x108,x109,x1010];f;

[0, 0, 0, 0, 0, 0, 0, 0, 25, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 30, 0]

[0, 10, 0, 0, 0, 0, 0, 0, 0, 25]

[0, 0, 0, 0, 0, 0, 0, 40, 0, 0]

[0, 0, 0, 0, 0, 0, 0, 0, 0, 45]

[0, 0, 0, 0, 0, 0, 20, 20, 10, 0]

[0, 0, 0, 0, 0, 20, 35, 0, 0, 0]

[0, 0, 0, 25, 30, 5, 0, 0, 0, 0]

[0, 15, 40, 10, 0, 0, 0, 0, 0, 0]

[50, 20, 0, 0, 0, 0, 0, 0, 0, 0]

28350

Приложение 2

Листинг программы решения транспортной задачи в векторных координатах (Для двух матриц)

> restart:

> b:=[50,18,12,80,15,15];

b := [50, 18, 12, 80, 15, 15]

> c:=[14,20,22,24,50,60];

c := [14, 20, 22, 24, 50, 60]

(Решить первую транспортную задачу, найдя цену перевозки и план перевозки)

>X:=Matrix(6,6,[[3,8,9,1,9,0],[3,4,5,0,9,6],[2,7,6,0,9,0],[9,1,9,4,7,2],[2,4,5,6,4,1],[1,4,5,7,8,7]]);

X := Matrix(6,6,{(1, 1) = 3, (1, 2) = 8, (1, 3) = 9, (1, 4) = 1, (1, 5) = 9, (2, 1) = 3, (2, 2) = 4, (2, 3) = 5, (2, 5) = 9, (2, 6) = 6, (3, 1) = 2, (3, 2) = 7, (3, 3) = 6, (3, 5) = 9, (4, 1) = 9, (4, 2) = 1, (4, 3) = 9, (4, 4) = 4, (4, 5) = 7, (4, 6) = 2, (5, 1) = 2, (5, 2) = 4, (5, 3) = 5, (5, 4) = 6, (5, 5) = 4, (5, 6) = 1, (6, 1) = 1, (6, 2) = 4, (6, 3) = 5, (6, 4) = 7, (6, 5) = 8, (6, 6) = 7},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

> proc(X,b,c)

>f1x,x11,x12,x13,x14,x15,x16,x21,x22,x23,x24,x25,x26,x31,x32,x33,x34,x35,x36,x41,x42,x43,x44,x45,x46,x51,x52,x53,x54,x55,x56,x61,x62,x63,x64,x65,x66;

Warning, premature end of input

> with(simplex):

Warning, the protected names maximize and minimize have been redefined and unprotected

>minimize(X[1,1]*x11+X[1,2]*x12+X[1,3]*x13+X[1,4]*x14+X[1,5]*x15+X[1,6]*x16+X[2,1]*x21+X[2,2]*x22+X[2,3]*x23+X[2,4]*x24+X[2,5]*x25+X[2,6]*x26+X[3,1]*x31+X[3,2]*x32+X[3,3]*x33+X[3,4]*x34+X[3,5]*x35+X[3,6]*x36+X[4,1]*x41+X[4,2]*x42+X[4,3]*x43+X[4,4]*x44+X[4,5]*x45+X[4,6]*x46+X[5,1]*x51+X[5,2]*x52+X[5,3]*x53+X[5,4]*x54+X[5,5]*x55+X[5,6]*x56+X[6,1]*x61+X[6,2]*x62+X[6,3]*x63+X[6,4]*x64+X[6,5]*x65+X[6,6]*x66, {x11+x12+x13+x14+x15+x16=b[1],x21+x22+x23+x24+x25+x26=b[2], x31+x32+x33+x34+x35+x36=b[3],x41+x42+x43+x44+x45+x46=b[4], x51+x52+x53+x54+x55+x56=b[5], x61+x62+x63+x64+x65+x66=b[6], x11+x21+x31+x41+x51+x61=c[1], x12+x22+x32+x42+x52+x62=c[2], x13+x23+x33+x43+x53+x63=c[3], x14+x24+x34+x44+x54+x64=c[4],x15+x25+x35+x45+x55+x65=c[5],x16+x26+x36+x46+x56+x66=c[6]},NONNEGATIVE);

{x11 = 0, x12 = 0, x13 = 0, x14 = 0, x15 = 0, x21 = 0, x22 = 0, x31 = 0, x32 = 0, x33 = 0, x36 = 0, x41 = 0, x51 = 0, x54 = 0, x55 = 0, x56 = 0, x64 = 0, x65 = 0, x66 = 0, x61 = 14, x16 = 50, x25 = 0, x26 = 0, x35 = 0, x43 = 0, x44 = 0, x52 = 0, x62 = 0, x34 = 12, x46 = 10, x24 = 12, x45 = 50, x63 = 1, x42 = 20, x23 = 6, x53 = 15}

> assign(%);

>f1x:=X[1,1]*x11+X[1,2]*x12+X[1,3]*x13+X[1,4]*x14+X[1,5]*x15+X[1,6]*x16+X[2,1]*x21+X[2,2]*x22+X[2,3]*x23+X[2,4]*x24+X[2,5]*x25+X[2,6]*x26+X[3,1]*x31+X[3,2]*x32+X[3,3]*x33+X[3,4]*x34+X[3,5]*x35+X[3,6]*x36+X[4,1]*x41+X[4,2]*x42+X[4,3]*x43+X[4,4]*x44+X[4,5]*x45+X[4,6]*x46+X[5,1]*x51+X[5,2]*x52+X[5,3]*x53+X[5,4]*x54+X[5,5]*x55+X[5,6]*x56+X[6,1]*x61+X[6,2]*x62+X[6,3]*x63+X[6,4]*x64+X[6,5]*x65+X[6,6]*x66;

f1x := 514

>[x11,x12,x13,x14,x15,x16];[x21,x22,x23,x24,x25,x26];[x31,x32,x33,x34,x35,x36];[x41,x42,x43,x44,x45,x46];[x51,x52,x53,x54,x55,x56];[x61,x62,x63,x64,x65,x66];f1x;

[0, 0, 0, 0, 0, 50]

[0, 0, 6, 12, 0, 0]

[0, 0, 0, 12, 0, 0]

[0, 20, 0, 0, 50, 10]

[0, 0, 15, 0, 0, 0]

[14, 0, 1, 0, 0, 0]

514

(Решить вторую транспортную задачу (с другими ценами), найдя цену перевозки и план перевозки)

>Y:=Matrix(6,6,[[3/2,8/2,9/2,1/2,9/2,0/2],[3/2,4/2,5/2,0/2,9/2,6/2],[2/2,7/2,6/2,0/2,9/2,0/2],[9/2,1/2,9/2,4/2,7/2,2/2],[2/2,4/2,5/2,6/2,4/2,1/2],[1/2,4/2,5/2,7/2,8/2,7/2]]);

Y := Matrix(6,6,{(1, 1) = 3/2, (1, 2) = 4, (1, 3) = 9/2, (1, 4) = 1/2, (1, 5) = 9/2, (2, 1) = 3/2, (2, 2) = 2, (2, 3) = 5/2, (2, 5) = 9/2, (2, 6) = 3, (3, 1) = 1, (3, 2) = 7/2, (3, 3) = 3, (3, 5) = 9/2, (4, 1) = 9/2, (4, 2) = 1/2, (4, 3) = 9/2, (4, 4) = 2, (4, 5) = 7/2, (4, 6) = 1, (5, 1) = 1, (5, 2) = 2, (5, 3) = 5/2, (5, 4) = 3, (5, 5) = 2, (5, 6) = 1/2, (6, 1) = 1/2, (6, 2) = 2, (6, 3) = 5/2, (6, 4) = 7/2, (6, 5) = 4, (6, 6) = 7/2},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

> proc(Y,b,c)

>f2y,y11,y12,y13,y14,y15,y16,y21,y22,y23,y24,y25,y26,y31,y32,y33,y34,y35,y36,y41,y42,y43,y44,y45,y46,y51,y52,y53,y54,y55,y56,y61,y62,y63,y64,y65,y66;

Warning, premature end of input

> with(simplex):

>minimize(Y[1,1]*y11+Y[1,2]*y12+Y[1,3]*y13+Y[1,4]*y14+Y[1,5]*y15+Y[1,6]*y16+Y[2,1]*y21+Y[2,2]*y22+Y[2,3]*y23+Y[2,4]*y24+Y[2,5]*y25+Y[2,6]*y26+Y[3,1]*y31+Y[3,2]*y32+Y[3,3]*y33+Y[3,4]*y34+Y[3,5]*y35+Y[3,6]*y36+Y[4,1]*y41+Y[4,2]*y42+Y[4,3]*y43+Y[4,4]*y44+Y[4,5]*y45+Y[4,6]*y46+Y[5,1]*y51+Y[5,2]*y52+Y[5,3]*y53+Y[5,4]*y54+Y[5,5]*y55+Y[5,6]*y56+Y[6,1]*y61+Y[6,2]*y62+Y[6,3]*y63+Y[6,4]*y64+Y[6,5]*y65+Y[6,6]*y66, {y11+y12+y13+y14+y15+y16=b[1],y21+y22+y23+y24+y25+y26=b[2], y31+y32+y33+y34+y35+y36=b[3],y41+y42+y43+y44+y45+y46=b[4], y51+y52+y53+y54+y55+y56=b[5], y61+y62+y63+y64+y65+y66=b[6], y11+y21+y31+y41+y51+y61=c[1], y12+y22+y32+y42+y52+y62=c[2], y13+y23+y33+y43+y53+y63=c[3], y14+y24+y34+y44+y54+y64=c[4],y15+y25+y35+y45+y55+y65=c[5],y16+y26+y36+y46+y56+y66=c[6]},NONNEGATIVE);

{y54 = 0, y55 = 0, y56 = 0, y64 = 0, y65 = 0, y66 = 0, y61 = 14, y16 = 50, y43 = 0, y44 = 0, y52 = 0, y62 = 0, y34 = 12, y46 = 10, y23 = 6, y63 = 1, y45 = 50, y42 = 20, y24 = 12, y53 = 15, y25 = 0, y26 = 0, y35 = 0, y14 = 0, y15 = 0, y21 = 0, y11 = 0, y12 = 0, y13 = 0, y22 = 0, y31 = 0, y32 = 0, y36 = 0, y41 = 0, y51 = 0, y33 = 0}

> assign(%);

>f2y:=Y[1,1]*y11+Y[1,2]*y12+Y[1,3]*y13+Y[1,4]*y14+Y[1,5]*y15+Y[1,6]*y16+Y[2,1]*y21+Y[2,2]*y22+Y[2,3]*y23+Y[2,4]*y24+Y[2,5]*y25+Y[2,6]*y26+Y[3,1]*y31+Y[3,2]*y32+Y[3,3]*y33+Y[3,4]*y34+Y[3,5]*y35+Y[3,6]*y36+Y[4,1]*y41+Y[4,2]*y42+Y[4,3]*y43+Y[4,4]*y44+Y[4,5]*y45+Y[4,6]*y46+Y[5,1]*y51+Y[5,2]*y52+Y[5,3]*y53+Y[5,4]*y54+Y[5,5]*y55+Y[5,6]*y56+Y[6,1]*y61+Y[6,2]*y62+Y[6,3]*y63+Y[6,4]*y64+Y[6,5]*y65+Y[6,6]*y66;

f2y := 257

>[y11,y12,y13,y14,y15,y16];[y16,y21,y22,y23,y24,y25,y26];[y31,y32,y33,y34,y35,y36];[y41,y42,y43,y44,y45,y46];[y51,y52,y53,y54,y55,y56];[y61,y62,y63,y64,y65,y66];f2y;

[0, 0, 0, 0, 0, 50]

[50, 0, 0, 6, 12, 0, 0]

[0, 0, 0, 12, 0, 0]

[0, 20, 0, 0, 50, 10]

[0, 0, 15, 0, 0, 0]

[14, 0, 1, 0, 0, 0]

257

>f2x:=Y[1,1]*x11+Y[1,2]*x12+Y[1,3]*x13+Y[1,4]*x14+Y[1,5]*x15+Y[1,6]*x16+Y[2,1]*x21+Y[2,2]*x22+Y[2,3]*x23+Y[2,4]*x24+Y[2,5]*x25+Y[2,6]*x26+Y[3,1]*x31+Y[3,2]*x32+Y[3,3]*x33+Y[3,4]*x34+Y[3,5]*x35+Y[3,6]*x36+Y[4,1]*x41+Y[4,2]*x42+Y[4,3]*x43+Y[4,4]*x44+Y[4,5]*x45+Y[4,6]*x46+Y[5,1]*x51+Y[5,2]*x52+Y[5,3]*x53+Y[5,4]*x54+Y[5,5]*x55+Y[5,6]*x56+Y[6,1]*x61+Y[6,2]*x62+Y[6,3]*x63+Y[6,4]*x64+Y[6,5]*x65+Y[6,6]*x66;

f2x := 257

>f1y:=X[1,1]*y11+X[1,2]*y12+X[1,3]*y13+X[1,4]*y14+X[1,5]*y15+X[1,6]*y16+X[2,1]*y21+X[2,2]*y22+X[2,3]*y23+X[2,4]*y24+X[2,5]*y25+X[2,6]*y26+X[3,1]*y31+X[3,2]*y32+X[3,3]*y33+X[3,4]*y34+X[3,5]*y35+X[3,6]*y36+X[4,1]*y41+X[4,2]*y42+X[4,3]*y43+X[4,4]*y44+X[4,5]*y45+X[4,6]*y46+X[5,1]*y51+X[5,2]*y52+X[5,3]*y53+X[5,4]*y54+X[5,5]*y55+X[5,6]*y56+X[6,1]*y61+X[6,2]*y62+X[6,3]*y63+X[6,4]*y64+X[6,5]*y65+X[6,6]*y66;

f1y := 514

(Составляем матрицу М , где f1x - это план перевозки первой задачи, поставленный в функцию цели первой задачи; f2x - это план перевозки первой задачи поставленный, в функцию цели второй задачи; f1y - это план перевозки второй задачи, поставленный в функцию цели первой задачи; f2y - это план перевозки второй задачи, поставленный в функцию цели второй задачи)

> M:=Matrix(2,2);

M := Matrix(2,2,{},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

> M[1,1]:=f1x/(f1x+f2x);

M[1,1] := 2/3

> M[1,2]:=f2x/(f1x+f2x);

M[1,2] := 1/3

> M[2,1]:=f1y/(f1y+f2y);

M[2,1] := 2/3

> M[2,2]:=f2y/(f1y+f2y);

M[2,2] := 1/3

> M;

Matrix(2,2,{(1, 1) = 2/3, (1, 2) = 1/3, (2, 1) = 2/3, (2, 2) = 1/3},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

> with(LinearAlgebra):

(Матрицу M транспонируем. Полученную матрицу обозначаем A.)

> A:=Transpose(M);

A := Matrix(2,2,{(1, 2) = 2/3, (2, 1) = 1/3, (1, 1) = 2/3, (2, 2) = 1/3},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

(Находим собственные значения и собственные векторы матрицы А)

> AA:=Eigenvectors(A);

AA := Vector[column](2,{(2) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = []), Matrix(2,2,{(1, 1) = -1, (1, 2) = 2, (2, 1) = 1, (2, 2) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])

> L:=AA[1];

L := Vector[column](2,{(2) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])

> L1:=AA[2];

L1 := Matrix(2,2,{(1, 1) = -1, (1, 2) = 2, (2, 1) = 1, (2, 2) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])

(Берем один из столбцов матрицы собственных векторов, в зависимости конечно от собственных значений (если собственное значение равное единице стоит первым, то берем первый столбец, иначе второй ) и нормируем этот столбец)

> if L[1]=1 then i:=L1[1,1]/(L1[1,1]+L1[2,1]) else L[2]=1 ;i:=L1[1,2]/(L1[1,2]+L1[2,2]) end if;

1 = 1

i := 2/3

> if L[1]=1 then j:=L1[2,1]/(L1[1,1]+L1[2,1]) else L[2]=1; j:=L1[2,2]/(L1[1,2]+L1[2,2]) end if;

1 = 1

j := 1/3

(Первую координату нормированного вектора умножаем на первую матрицу цен и складываем с второй матрицей цен умноженное на вторую координату полученного нормированного вектора. Получили новую матрицу цен)

> Z:=i*X+j*Y;

Z := Matrix(6,6,{(6, 3) = 25/6, (6, 4) = 35/6, (6, 5) = 20/3, (6, 6) = 35/6, (4, 3) = 15/2, (4, 4) = 10/3, (4, 5) = 35/6, (4, 6) = 5/3, (5, 1) = 5/3, (5, 2) = 10/3, (5, 3) = 25/6, (5, 4) = 5, (5, 5) = 10/3, (5, 6) = 5/6, (6, 1) = 5/6, (6, 2) = 10/3, (2, 1) = 5/2, (2, 2) = 10/3, (2, 3) = 25/6, (2, 5) = 15/2, (1, 5) = 15/2, (2, 6) = 5, (3, 1) = 5/3, (3, 2) = 35/6, (3, 3) = 5, (3, 5) = 15/2, (4, 1) = 15/2, (4, 2) = 5/6, (1, 1) = 5/2, (1, 2) = 20/3, (1, 3) = 15/2, (1, 4) = 5/6},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])

(Решаем новую транспортную задачу с таким же объемом поставок и потребностей, но с новыми ценами)

> proc(Z,b,c)

> f3z,z11,z12,z13,z14,z15,z16,z21,z22,z23,z24,z25,z26,z31,z32,z33,z34,z35,z36,z41,z42,z43,z44,z45,z46,z51,z52,z53,z54,z55,z56,z61,z62,z63,z64,z65,z66;

>

Warning, premature end of input

> with(simplex):

> minimize(Z[1,1]*z11+Z[1,2]*z12+Z[1,3]*z13+Z[1,4]*z14+Z[1,5]*z15+Z[1,6]*z16+Z[2,1]*z21+Z[2,2]*z22+Z[2,3]*z23+Z[2,4]*z24+Z[2,5]*z25+Z[2,6]*z26+Z[3,1]*z31+Z[3,2]*z32+Z[3,3]*z33+Z[3,4]*z34+Z[3,5]*z35+Z[3,6]*z36+Z[4,1]*z41+Z[4,2]*z42+Z[4,3]*z43+Z[4,4]*z44+Z[4,5]*z45+Z[4,6]*z46+Z[5,1]*z51+Z[5,2]*z52+Z[5,3]*z53+Z[5,4]*z54+Z[5,5]*z55+Z[5,6]*z56+Z[6,1]*z61+Z[6,2]*z62+Z[6,3]*z63+Z[6,4]*z64+Z[6,5]*z65+Z[6,6]*z66, {z11+z12+z13+z14+z15+z16=b[1],z21+z22+z23+z24+z25+z26=b[2], z31+z32+z33+z34+z35+z36=b[3],z41+z42+z43+z44+z45+z46=b[4], z51+z52+z53+z54+z55+z56=b[5], z61+z62+z63+z64+z65+z66=b[6], z11+z21+z31+z41+z51+z61=c[1], z12+z22+z32+z42+z52+z62=c[2], z13+z23+z33+z43+z53+z63=c[3], z14+z24+z34+z44+z54+z64=c[4],z15+z25+z35+z45+z55+z65=c[5],z16+z26+z36+z46+z56+z66=c[6]},NONNEGATIVE);

Страницы: 1, 2, 3, 4, 5, 6, 7



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.