Решение транспортной задачи в векторной постановке в среде Maple
Сущность и постановка транспортной задачи для n переменных, их виды, применение и пример решения в MS Excel. Управляющие структуры ветвления Maple языка (if предложение). Решение транспортной задачи в векторных координатах для двух и трёх матриц.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.01.2011 |
Размер файла | 109,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
[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);
{z53 = 15, z44 = 0, z43 = 0, z36 = 0, z41 = 0, z64 = 0, z65 = 0, z66 = 0, z51 = 0, z52 = 0, z54 = 0, z56 = 0, z11 = 0, z12 = 0, z32 = 0, z33 = 0, z35 = 0, z46 = 10, z24 = 12, z16 = 50, z42 = 20, z61 = 14, z62 = 0, z63 = 1, z45 = 50, z23 = 6, z34 = 12, z55 = 0, z26 = 0, z31 = 0, z14 = 0, z15 = 0, z13 = 0, z22 = 0, z25 = 0, z21 = 0}
> assign(%);
> f3z:=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;
f3z := 1285/3
> [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];f3z;
[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]
1285/3
(Новый план перевозок ставим в функцию цели первой транспортной задачи и таким образом получаем первое УПРАВЛЕНИЕ)
> f4z:=X[1,1]*z11+X[1,2]*z12+X[1,3]*z13+X[1,4]*z14+X[1,5]*z15+X[1,6]*z16+X[2,1]*z21+X[2,2]*z22+X[2,3]*z23+X[2,4]*z24+X[2,5]*z25+X[2,6]*z26+X[3,1]*z31+X[3,2]*z32+X[3,3]*z33+X[3,4]*z34+X[3,5]*z35+X[3,6]*z36+X[4,1]*z41+X[4,2]*z42+X[4,3]*z43+X[4,4]*z44+X[4,5]*z45+X[4,6]*z46+X[5,1]*z51+X[5,2]*z52+X[5,3]*z53+X[5,4]*z54+X[5,5]*z55+X[5,6]*z56+X[6,1]*z61+X[6,2]*z62+X[6,3]*z63+X[6,4]*z64+X[6,5]*z65+X[6,6]*z66;
f4z := 514
(Новый план перевозок ставим в функцию цели второй транспортной задачи и таким образом получаем второе УПРАВЛЕНИЕ)
> f5z:=Y[1,1]*z11+Y[1,2]*z12+Y[1,3]*z13+Y[1,4]*z14+Y[1,5]*z15+Y[1,6]*z16+Y[2,1]*z21+Y[2,2]*z22+Y[2,3]*z23+Y[2,4]*z24+Y[2,5]*z25+Y[2,6]*z26+Y[3,1]*z31+Y[3,2]*z32+Y[3,3]*z33+Y[3,4]*z34+Y[3,5]*z35+Y[3,6]*z36+Y[4,1]*z41+Y[4,2]*z42+Y[4,3]*z43+Y[4,4]*z44+Y[4,5]*z45+Y[4,6]*z46+Y[5,1]*z51+Y[5,2]*z52+Y[5,3]*z53+Y[5,4]*z54+Y[5,5]*z55+Y[5,6]*z56+Y[6,1]*z61+Y[6,2]*z62+Y[6,3]*z63+Y[6,4]*z64+Y[6,5]*z65+Y[6,6]*z66;
f5z := 257
Приложение 3
Листинг программы решения транспортной задачи в векторных координатах (Для трёх матриц)
> 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
(Решить третью транспортную задачу (с другими ценами), найдя цену перевозки и план перевозки)
>V:=Matrix(6,6,[[3/6,8/6,9/6,1/6,9/6,0/6],[3/6,4/6,5/6,0/6,9/6,6/6],[2/6,7/6,6/6,0/6,9/6,0/6],[9/6,1/6,9/6,4/6,7/6,2/6],[2/6,4/6,5/6,6/6,4/6,1/6],[1/6,4/6,5/6,7/6,8/6,7/6]]);
V := Matrix(6,6,{(5, 3) = 5/6, (5, 4) = 1, (5, 5) = 2/3, (5, 6) = 1/6, (6, 1) = 1/6, (6, 2) = 2/3, (6, 3) = 5/6, (6, 4) = 7/6, (6, 5) = 4/3, (6, 6) = 7/6, (4, 5) = 7/6, (4, 6) = 1/3, (5, 1) = 1/3, (5, 2) = 2/3, (1, 1) = 1/2, (1, 2) = 4/3, (1, 3) = 3/2, (1, 4) = 1/6, (1, 5) = 3/2, (2, 1) = 1/2, (2, 2) = 2/3, (2, 3) = 5/6, (2, 5) = 3/2, (2, 6) = 1, (3, 1) = 1/3, (3, 2) = 7/6, (3, 3) = 1, (3, 5) = 3/2, (4, 1) = 3/2, (4, 2) = 1/6, (4, 3) = 3/2, (4, 4) = 2/3},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])
> proc(V,b,c)
>f3v,v11,v12,v13,v14,v15,v16,v21,v22,v23,v24,v25,v26,v31,v32,v33,v34,v35,v36,v41,v42,v43,v44,v45,v46,v51,v52,v53,v54,v55,v56,v61,v62,v63,v64,v65,v66;
Warning, premature end of input
> with(simplex):
>minimize(V[1,1]*v11+V[1,2]*v12+V[1,3]*v13+V[1,4]*v14+V[1,5]*v15+V[1,6]*v16+V[2,1]*v21+V[2,2]*v22+V[2,3]*v23+V[2,4]*v24+V[2,5]*v25+V[2,6]*v26+V[3,1]*v31+V[3,2]*v32+V[3,3]*v33+V[3,4]*v34+V[3,5]*v35+V[3,6]*v36+V[4,1]*v41+V[4,2]*v42+V[4,3]*v43+V[4,4]*v44+V[4,5]*v45+V[4,6]*v46+V[5,1]*v51+V[5,2]*v52+V[5,3]*v53+V[5,4]*v54+V[5,5]*v55+V[5,6]*v56+V[6,1]*v61+V[6,2]*v62+V[6,3]*v63+V[6,4]*v64+V[6,5]*v65+V[6,6]*v66, {v11+v12+v13+v14+v15+v16=b[1],v21+v22+v23+v24+v25+v26=b[2], v31+v32+v33+v34+v35+v36=b[3],v41+v42+v43+v44+v45+v46=b[4], v51+v52+v53+v54+v55+v56=b[5], v61+v62+v63+v64+v65+v66=b[6], v11+v21+v31+v41+v51+v61=c[1], v12+v22+v32+v42+v52+v62=c[2], v13+v23+v33+v43+v53+v63=c[3], v14+v24+v34+v44+v54+v64=c[4],v15+v25+v35+v45+v55+v65=c[5],v16+v26+v36+v46+v56+v66=c[6]},NONNEGATIVE);
{v25 = 0, v26 = 0, v35 = 0, v43 = 0, v44 = 0, v52 = 0, v62 = 0, v34 = 12, v46 = 10, v24 = 12, v23 = 6, v45 = 50, v63 = 1, v42 = 20, v53 = 15, v51 = 0, v54 = 0, v55 = 0, v56 = 0, v64 = 0, v65 = 0, v66 = 0, v61 = 14, v16 = 50, v14 = 0, v15 = 0, v21 = 0, v22 = 0, v31 = 0, v32 = 0, v33 = 0, v36 = 0, v41 = 0, v13 = 0, v11 = 0, v12 = 0}
> assign(%);
>f3v:=V[1,1]*v11+V[1,2]*v12+V[1,3]*v13+V[1,4]*v14+V[1,5]*v15+V[1,6]*v16+V[2,1]*v21+V[2,2]*v22+V[2,3]*v23+V[2,4]*v24+V[2,5]*v25+V[2,6]*v26+V[3,1]*v31+V[3,2]*v32+V[3,3]*v33+V[3,4]*v34+V[3,5]*v35+V[3,6]*v36+V[4,1]*v41+V[4,2]*v42+V[4,3]*v43+V[4,4]*v44+V[4,5]*v45+V[4,6]*v46+V[5,1]*v51+V[5,2]*v52+V[5,3]*v53+V[5,4]*v54+V[5,5]*v55+V[5,6]*v56+V[6,1]*v61+V[6,2]*v62+V[6,3]*v63+V[6,4]*v64+V[6,5]*v65+V[6,6]*v66;
f3v := 257/3
>[v11,v12,v13,v14,v15,v16];[v21,v22,v23,v24,v25,v26];[v31,v32,v33,v34,v35,v36];[v41,v42,v43,v44,v45,v46];[v51,v52,v53,v54,v55,v56];[v61,v62,v63,v64,v65,v66];f3v;
[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]
257/3
>f2v:=Y[1,1]*v11+Y[1,2]*v12+Y[1,3]*v13+Y[1,4]*v14+Y[1,5]*v15+Y[1,6]*v16+Y[2,1]*v21+Y[2,2]*v22+Y[2,3]*v23+Y[2,4]*v24+Y[2,5]*v25+Y[2,6]*v26+Y[3,1]*v31+Y[3,2]*v32+Y[3,3]*v33+Y[3,4]*v34+Y[3,5]*v35+Y[3,6]*v36+Y[4,1]*v41+Y[4,2]*v42+Y[4,3]*v43+Y[4,4]*v44+Y[4,5]*v45+Y[4,6]*v46+Y[5,1]*v51+Y[5,2]*v52+Y[5,3]*v53+Y[5,4]*v54+Y[5,5]*v55+Y[5,6]*v56+Y[6,1]*v61+Y[6,2]*v62+Y[6,3]*v63+Y[6,4]*v64+Y[6,5]*v65+Y[6,6]*v66;
f2v := 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
>f1v:=X[1,1]*v11+X[1,2]*v12+X[1,3]*v13+X[1,4]*v14+X[1,5]*v15+X[1,6]*v16+X[2,1]*v21+X[2,2]*v22+X[2,3]*v23+X[2,4]*v24+X[2,5]*v25+X[2,6]*v26+X[3,1]*v31+X[3,2]*v32+X[3,3]*v33+X[3,4]*v34+X[3,5]*v35+X[3,6]*v36+X[4,1]*v41+X[4,2]*v42+X[4,3]*v43+X[4,4]*v44+X[4,5]*v45+X[4,6]*v46+X[5,1]*v51+X[5,2]*v52+X[5,3]*v53+X[5,4]*v54+X[5,5]*v55+X[5,6]*v56+X[6,1]*v61+X[6,2]*v62+X[6,3]*v63+X[6,4]*v64+X[6,5]*v65+X[6,6]*v66;
f1v := 514
>f3x:=V[1,1]*x11+V[1,2]*x12+V[1,3]*x13+V[1,4]*x14+V[1,5]*x15+V[1,6]*x16+V[2,1]*x21+V[2,2]*x22+V[2,3]*x23+V[2,4]*x24+V[2,5]*x25+V[2,6]*x26+V[3,1]*x31+V[3,2]*x32+V[3,3]*x33+V[3,4]*x34+V[3,5]*x35+V[3,6]*x36+V[4,1]*x41+V[4,2]*x42+V[4,3]*x43+V[4,4]*x44+V[4,5]*x45+V[4,6]*x46+V[5,1]*x51+V[5,2]*x52+V[5,3]*x53+V[5,4]*x54+V[5,5]*x55+V[5,6]*x56+V[6,1]*x61+V[6,2]*x62+V[6,3]*x63+V[6,4]*x64+V[6,5]*x65+V[6,6]*x66;
f3x := 257/3
>f3y:=V[1,1]*y11+V[1,2]*y12+V[1,3]*y13+V[1,4]*y14+V[1,5]*y15+V[1,6]*y16+V[2,1]*y21+V[2,2]*y22+V[2,3]*y23+V[2,4]*y24+V[2,5]*y25+V[2,6]*y26+V[3,1]*y31+V[3,2]*y32+V[3,3]*y33+V[3,4]*y34+V[3,5]*y35+V[3,6]*y36+V[4,1]*y41+V[4,2]*y42+V[4,3]*y43+V[4,4]*y44+V[4,5]*y45+V[4,6]*y46+V[5,1]*y51+V[5,2]*y52+V[5,3]*y53+V[5,4]*y54+V[5,5]*y55+V[5,6]*y56+V[6,1]*y61+V[6,2]*y62+V[6,3]*y63+V[6,4]*y64+V[6,5]*y65+V[6,6]*y66;
f3y := 257/3
(Составляем матрицу , где f1x - это план перевозки первой задачи, поставленный в функцию цели первой задачи; f2x - это план перевозки первой задачи поставленный, в функцию цели второй задачи; f3x - это план перевозки первой задачи поставленный, в функцию цели третьей задачи; f1y - это план перевозки второй задачи, поставленный в функцию цели первой задачи; f2y - это план перевозки второй задачи, поставленный в функцию цели второй задачи; f3y - это план перевозки второй задачи, поставленный в функцию цели третьей задачи; f1v - это план перевозки третьей задачи, поставленный в функцию цели первой задачи; f2v - это план перевозки третьей задачи, поставленный в функцию цели второй задачи; f3v - это план перевозки третьей задачи, поставленный в функцию цели третьей задачи.)
> M:=Matrix(3,3);
M := Matrix(3,3,{},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])
> M[1,1]:=f1x/(f1x+f2x+f3x);
M[1,1] := 3/5
> M[1,2]:=f2x/(f1x+f2x+f3x);
M[1,2] := 3/10
> M[1,3]:=f3x/(f1x+f2x+f3x);
M[1,3] := 1/10
> M[2,1]:=f1y/(f1y+f2y+f3y);
M[2,1] := 3/5
> M[2,2]:=f2y/(f1y+f2y+f3y);
M[2,2] := 3/10
> M[2,3]:=f3y/(f1y+f2y+f3y);
M[2,3] := 1/10
> M[3,1]:=f1v/(f1v+f2v+f3v);
M[3,1] := 3/5
> M[3,2]:=f2v/(f1v+f2v+f3v);
M[3,2] := 3/10
> M[3,3]:=f3v/(f1v+f2v+f3v);
M[3,3] := 1/10
> M;
Matrix(3,3,{(1, 1) = 3/5, (1, 2) = 3/10, (1, 3) = 1/10, (2, 1) = 3/5, (2, 2) = 3/10, (2, 3) = 1/10, (3, 1) = 3/5, (3, 2) = 3/10, (3, 3) = 1/10},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])
> with(LinearAlgebra):
(Матрицу M транспонируем. Полученную матрицу обозначаем A)
> A:=Transpose(M);
A := Matrix(3,3,{(1, 1) = 3/5, (2, 2) = 3/10, (3, 3) = 1/10, (2, 3) = 3/10, (3, 1) = 1/10, (3, 2) = 1/10, (1, 2) = 3/5, (1, 3) = 3/5, (2, 1) = 3/10},datatype = anything,storage = rectangular,order = Fortran_order,shape = [])
(Находим собственные значения и собственные векторы матрицы А)
> AA:=Eigenvectors(A);
AA := Vector[column](3,{(1) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = []), Matrix(3,3,{(1, 1) = 6, (1, 2) = -1, (1, 3) = -1, (2, 1) = 3, (2, 2) = 1, (3, 1) = 1, (3, 3) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])
> L:=AA[1];
L := Vector[column](3,{(1) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])
> L1:=AA[2];
L1 := Matrix(3,3,{(1, 1) = 6, (1, 2) = -1, (1, 3) = -1, (2, 1) = 3, (2, 2) = 1, (3, 1) = 1, (3, 3) = 1},datatype = algebraic,storage = rectangular,order = Fortran_order,shape = [])
(Берем один из столбцов матрицы собственных векторов, в зависимости конечно от собственных значений (если собственное значение равное единице стоит первым, то берем первый столбец, иначе второй, а если и не второй, то третий) и нормируем этот столбец)
> if L[1]=1 then i:=L1[1,1]/(L1[1,1]+L1[2,1]+L1[3,1]) elif L[2]=1 then i:=L1[1,2]/(L1[1,2]+L1[2,2]+L1[3,2]) else L[3]=1 ;i:=L1[1,3]/(L1[1,3]+L1[2,3]+L1[3,3]) end if;
i := 3/5
> if L[1]=1 then j:=L1[2,1]/(L1[1,1]+L1[2,1]+L1[3,1]) elif L[2]=1 then j:=L1[2,2]/(L1[1,2]+L1[2,2]+L1[3,2]) else L[3]=1 ;j:=L1[2,3]/(L1[1,3]+L1[2,3]+L1[3,2]) end if;
j := 3/10
> if L[1]=1 then k:=L1[3,1]/(L1[1,1]+L1[2,1]+L1[3,1]) elif L[2]=1 then k:=L1[3,2]/(L1[1,2]+L1[2,2]+L1[3,2]) else L[3]=1 ;k:=L1[3,3]/(L1[1,3]+L1[2,3]+L1[3,2]) end if;
k := 1/10
(Первую координату нормированного вектора умножаем на первую матрицу цен и складываем с второй матрицей цен умноженное на вторую координату полученного нормированного вектора и ко всему этому прибавляем третью матрицу цен умноженное на третью координату нормированного вектора. Получили новую матрицу цен.)
> Z:=i*X+j*Y+k*V;
Z := Matrix(6,6,{(1, 1) = 23/10, (1, 2) = 92/15, (1, 3) = 69/10, (1, 4) = 23/30, (1, 5) = 69/10, (2, 1) = 23/10, (2, 2) = 46/15, (2, 3) = 23/6, (6, 6) = 161/30, (4, 2) = 23/30, (4, 3) = 69/10, (4, 4) = 46/15, (4, 5) = 161/30, (4, 6) = 23/15, (5, 1) = 23/15, (5, 2) = 46/15, (5, 3) = 23/6, (5, 4) = 23/5, (5, 5) = 46/15, (5, 6) = 23/30, (6, 1) = 23/30, (6, 2) = 46/15, (6, 3) = 23/6, (6, 4) = 161/30, (6, 5) = 92/15, (2, 5) = 69/10, (2, 6) = 23/5, (3, 1) = 23/15, (3, 2) = 161/30, (3, 3) = 23/5, (3, 5) = 69/10, (4, 1) = 69/10},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);
{z16 = 50, z61 = 14, z13 = 0, z14 = 0, z15 = 0, z55 = 0, z64 = 0, z65 = 0, z66 = 0, z56 = 0, z12 = 0, z31 = 0, z32 = 0, z33 = 0, z36 = 0, z41 = 0, z51 = 0, z54 = 0, z11 = 0, z21 = 0, z22 = 0, z25 = 0, z26 = 0, z35 = 0, z43 = 0, z44 = 0, z52 = 0, z62 = 0, z34 = 12, z46 = 10, z63 = 1, z45 = 50, z42 = 20, z23 = 6, z24 = 12, z53 = 15}
> assign(%);
>f3z:=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;
f3z := 5911/15
>[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];f3z;
[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]
5911/15
(Новый план перевозок ставим в функцию цели первой транспортной задачи и таким образом получаем первое УПРАВЛЕНИЕ)
>f4z:=X[1,1]*z11+X[1,2]*z12+X[1,3]*z13+X[1,4]*z14+X[1,5]*z15+X[1,6]*z16+X[2,1]*z21+X[2,2]*z22+X[2,3]*z23+X[2,4]*z24+X[2,5]*z25+X[2,6]*z26+X[3,1]*z31+X[3,2]*z32+X[3,3]*z33+X[3,4]*z34+X[3,5]*z35+X[3,6]*z36+X[4,1]*z41+X[4,2]*z42+X[4,3]*z43+X[4,4]*z44+X[4,5]*z45+X[4,6]*z46+X[5,1]*z51+X[5,2]*z52+X[5,3]*z53+X[5,4]*z54+X[5,5]*z55+X[5,6]*z56+X[6,1]*z61+X[6,2]*z62+X[6,3]*z63+X[6,4]*z64+X[6,5]*z65+X[6,6]*z66;
f4z := 514
(Новый план перевозок ставим в функцию цели второй транспортной задачи и таким образом получаем второе УПРАВЛЕНИЕ)
>f5z:=Y[1,1]*z11+Y[1,2]*z12+Y[1,3]*z13+Y[1,4]*z14+Y[1,5]*z15+Y[1,6]*z16+Y[2,1]*z21+Y[2,2]*z22+Y[2,3]*z23+Y[2,4]*z24+Y[2,5]*z25+Y[2,6]*z26+Y[3,1]*z31+Y[3,2]*z32+Y[3,3]*z33+Y[3,4]*z34+Y[3,5]*z35+Y[3,6]*z36+Y[4,1]*z41+Y[4,2]*z42+Y[4,3]*z43+Y[4,4]*z44+Y[4,5]*z45+Y[4,6]*z46+Y[5,1]*z51+Y[5,2]*z52+Y[5,3]*z53+Y[5,4]*z54+Y[5,5]*z55+Y[5,6]*z56+Y[6,1]*z61+Y[6,2]*z62+Y[6,3]*z63+Y[6,4]*z64+Y[6,5]*z65+Y[6,6]*z66;
f5z := 257
(Новый план перевозок ставим в функцию цели третьей транспортной задачи и таким образом получаем третье УПРАВЛЕНИЕ)
> f6z:=V[1,1]*z11+V[1,2]*z12+V[1,3]*z13+V[1,4]*z14+V[1,5]*z15+V[1,6]*z16+V[2,1]*z21+V[2,2]*z22+V[2,3]*z23+V[2,4]*z24+V[2,5]*z25+V[2,6]*z26+V[3,1]*z31+V[3,2]*z32+V[3,3]*z33+V[3,4]*z34+V[3,5]*z35+V[3,6]*z36+V[4,1]*z41+V[4,2]*z42+V[4,3]*z43+V[4,4]*z44+V[4,5]*z45+V[4,6]*z46+V[5,1]*z51+V[5,2]*z52+V[5,3]*z53+V[5,4]*z54+V[5,5]*z55+V[5,6]*z56+V[6,1]*z61+V[6,2]*z62+V[6,3]*z63+V[6,4]*z64+V[6,5]*z65+V[6,6]*z66;
f6z := 257/3
Подобные документы
Сущность и назначение основных алгоритмов оптимизации. Линейное программирование. Постановка и аналитический метод решения параметрической транспортной задачи, математическая модель. Метод решения задачи об оптимальных перевозках средствами MS Excel.
курсовая работа [465,6 K], добавлен 24.04.2009Оптимизация затрат на доставку продукции потребителям. Характеристика транспортной задачи, общий вид решения, обобщение; содержательная и математическая постановка задачи, решение с помощью программы MS Excel: листинг программы, анализ результатов.
курсовая работа [514,8 K], добавлен 04.02.2011Общее понятие и характеристика задачи линейного программирования. Решение транспортной задачи с помощью программы MS Excel. Рекомендации по решению задач оптимизации с помощью надстройки "Поиск решения". Двойственная задача линейного программирования.
дипломная работа [2,4 M], добавлен 20.11.2010Математическая постановка транспортной задачи открытой модели методом потенциалов при известных показателях запаса груза поставщика и потребности потребителя; ее решение ручным способом и с помощью компьютерной программы, написанной в среде Delphi.
курсовая работа [167,2 K], добавлен 16.01.2011Создание и реализация алгоритма решения транспортной задачи методом наименьших стоимостей. Схема алгоритма основной программы. Основные шаги алгоритма решения транспортной задачи. Инструкция по эксплуатации программы и обзор результатов ее выполнения.
курсовая работа [2,0 M], добавлен 12.02.2013Определение оптимального плана перевозок однородного груза из k-пунктов отправления в m-пункты назначения. Описание алгоритма нахождения потока минимальной стоимости. Решение транспортной задачи вручную и в среде MathCad, сравнение полученных результатов.
курсовая работа [773,6 K], добавлен 09.12.2010Составление программы для расчета начального базиса сбалансированной транспортной задачи, где суммарные запасы поставщиков равны суммарным запросам потребителей. Алгоритм метода потенциалов. Пример решения транспортной задачи методом наименьшей стоимости.
отчет по практике [991,3 K], добавлен 06.12.2013Решение в среде Microsoft Excel с помощью программной модели "Поиск решения" транспортной задачи, системы нелинейных уравнений, задачи о назначениях. Составление уравнения регрессии по заданным значениям. Математические и алгоритмические модели.
лабораторная работа [866,6 K], добавлен 23.07.2012Краткие сведения об электронных таблицах MS Excel. Решение задачи линейного программирования. Решение с помощью средств Microsoft Excel экономической оптимизационной задачи, на примере "транспортной задачи". Особенности оформления документа MS Word.
курсовая работа [1,1 M], добавлен 27.08.2012Особенности решения транспортной задачи распределительным методом и анализ результатов. Построение математической модели, алгоритма. Создание программы для решения транспортной задачи распределительным методом в программной среде Borland Delphi 7.
курсовая работа [1000,7 K], добавлен 23.06.2012