p align="left">> 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
Страницы: 1, 2, 3, 4, 5, 6, 7
|