Рефераты
 

Решение транспортной задачи в векторной постановке в среде Maple

p align="left">Второй формат if предложения несет следующую смысловую нагрузку: если результат вычисления ЛУ возвращает true значение, то выполняется указанная за ключевым then слово ПП1, в противно случае выполняется следующая за ключевым else слова ПП2. Замечание относительно вывода промежуточных результатов для случая первого формата if предложения сохраняет силу и для второго формата кодирования.

Третий формат if предложения несет смысловую нагрузку, легко усматриваемую из следующей общей R функции, поясняющей принцип выбора выполняемой ПП в зависимости от цепочки истинности предшествующих ей ЛУ j (j =1 ..k) в предложении.

§3. Программа решения транспортной задачи

Программа для решения транспортной задачи выполнена в среде математического пакета Maple.

После подключения библиотеки командой with(simplex) пользователю становится доступны функции и опции, указанные в следующей таблице 1 приложения.

Алгоритм программы решения транспортной задачи:

1. вводим первоначальные данные задачи

2. описываем все переменные

3. подключение библиотеки simplex

4. находим оптимальный план перевозок

5. находим минимальное значение функции

§4. Транспортная задача в векторных координатах (Для двух матриц)

Постановка задачи

Дальнейшим развитием темы является транспортная задача в векторной постановке. Пусть имеется несколько поставщиков однородной продукции (каждый с определенным запасом) и несколько потребителей этой продукции (с известными потребностями у каждого). Задана коммуникационная сеть (дороги, реки, воздушные линий и т.д.) связывающая каждого поставщика с каждым потребителем. На каждом пути определена стоимость перевозки единицы продукции и время перевозки. Это означает, что заданы две матрицы одинокого формата, т.е. число строк и число столбцов у матриц совпадает. На содержательном уровне требуется найти оптимальное управление, что одновременно минимизирует стоимость и время перевозки.

Алгоритм решения

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

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

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

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

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

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

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

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

9. Новый план перевозок ставим в функцию цели первой и второй транспортной задачи и таким образом получаем УПРАВЛЕНИЯ. На содержательном уровне нашли оптимальное управление, что одновременно минимизирует стоимость и время перевозки.

Блок-схема

§5. Транспортная задача в векторных координатах (Для трёх матриц)

Постановка задачи

Пусть имеется несколько поставщиков однородной продукции (каждый с определенным запасом) и несколько потребителей этой продукции (с известными потребностями у каждого). Задана коммуникационная сеть (дороги, реки, воздушные линий и т.д.) связывающая каждого поставщика с каждым потребителем. Но в данном случае на каждом пути определена стоимость перевозки единицы продукции, время и функция обратная функции качества перевозки. Это означает, что заданы три матрицы одинокого формата, т.е. число строк и число столбцов у матриц совпадает. На содержательном уровне требуется найти оптимальное управление, что одновременно минимизирует стоимость, время и обратная функция качества перевозки.

Алгоритм решения

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

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

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

4. Составляем матрицу M=,

5. где f1x - это план перевозки первой задачи, поставленный в функцию цели первой задачи; f2x - это план перевозки первой задачи поставленный, в функцию цели второй задачи; f3x - это план перевозки первой задачи поставленный, в функцию цели третьей задачи; f1y - это план перевозки второй задачи, поставленный в функцию цели первой задачи; f2y - это план перевозки второй задачи, поставленный в функцию цели второй задачи; f3y - это план перевозки второй задачи, поставленный в функцию цели третьей задачи; f1v - это план перевозки третьей задачи, поставленный в функцию цели первой задачи; f2v - это план перевозки третьей задачи, поставленный в функцию цели второй задачи; f3v - это план перевозки третьей задачи, поставленный в функцию цели третьей задачи.

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

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

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

9. Первую координату нормированного вектора умножаем на первую матрицу цен и складываем с второй матрицей цен умноженное на вторую координату полученного нормированного вектора и ко всему этому прибавляем третью матрицу цен умноженное на третью координату нормированного вектора. Получили новую матрицу цен.

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

11. Новый план перевозок ставим в функцию цели первой, второй и третьей транспортной задачи и таким образом получаем УПРАВЛЕНИЯ. На содержательном уровне требуется найти оптимальное управление, что одновременно минимизирует стоимость, время и обратная функция качества перевозки.

Блок-схема

Список литературы

1. Акулич И.Л. Математическое программирование в примерах и задачах. М.: Высшая школа, 1993.

2. Аладьев В.З., Богдявичюс М.А. MAPLE 6: Решение математических, статистических и физико-технических задач - М.: Лаборатория Базовых Знаний, 2001.

3. Бережная Е.В., Бережной В.И. математические методы моделирования экономических систем. М.: Мир, 1977.

4. Воробьёв Н.Н. Основы теории игр. Бескоалиционные игры. М.: Наука, 1984.

5. Канторович Л.В. Математические методы в организации и планировании производства. Ленинград: Изд. - во ЛГУ, 1939.

6. Карлин С. Математические методы в теории игр программировании и экономике. М: Мир, 1964.

7. Матвеев В.А. Уточнённое по конусу решение многокритериальной задачи. // Вестник НовГУ. Серия : Технические науки. 2006. № 39. C .23 - 27.

8. Петросян Л.А., Зенкевич Н.А., Семина Е.А. Теория игр. М.:ВШ, Книжный дом Университет, 1998.

Приложение 1

Листинг программы решения транспортной задачи

> restart:

> a1:=[1,2,3,4,5,6,7,8,9,10]; a2:=[11,12,13,14,15,16,17,18,19,20]; a3:=[21,22,23,24,25,26,27,28,29,30]; a4:=[31,32,33,34,35,36,37,38,39,40]; a5:=[41,42,43,44,45,46,47,48,49,50]; a6:=[51,52,53,54,55,56,57,58,59,60]; a7:=[61,62,63,64,65,66,67,68,69,70]; a8:=[71,72,73,74,75,76,77,78,79,80]; a9:=[81,82,83,84,85,86,87,88,89,90]; a10:=[91,92,93,94,95,96,97,98,99,100]; b:=[25,30,35,40,45,50,55,60,65,70]; c:=[50,45,40,35,30,25,55,60,65,70];

(вводим первоначальные данные задачи)

a1 := [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a2 := [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

a3 := [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]

a4 := [31, 32, 33, 34, 35, 36, 37, 38, 39, 40]

a5 := [41, 42, 43, 44, 45, 46, 47, 48, 49, 50]

a6 := [51, 52, 53, 54, 55, 56, 57, 58, 59, 60]

a7 := [61, 62, 63, 64, 65, 66, 67, 68, 69, 70]

a8 := [71, 72, 73, 74, 75, 76, 77, 78, 79, 80]

a9 := [81, 82, 83, 84, 85, 86, 87, 88, 89, 90]

a10 := [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

b := [25, 30, 35, 40, 45, 50, 55, 60, 65, 70]

c := [50, 45, 40, 35, 30, 25, 55, 60, 65, 70]

> proc(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,b,c) (означает начало процедуры)

>f,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; (описываем все переменные)

Warning, premature end of input

> with(simplex): (подключение библиотеки simplex)

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

>minimize(a1[1]*x11+a1[2]*x12+a1[3]*x13+a1[4]*x14+a1[5]*x15+a1[6]*x16+a1[7]*x17+a1[8]*x18+a1[9]*x19+a1[10]*x110+ a2[1]*x21+a2[2]*x22+a2[3]*x23+a2[4]*x24+a2[5]*x25+a2[6]*x26+a2[7]*x27+a2[8]*x28+a2[9]*x29+a2[10]*x210+ a3[1]*x31+a3[2]*x32+a3[3]*x33+a3[4]*x34+a3[5]*x35+a3[6]*x36+a3[7]*x37+a3[8]*x38+a3[9]*x39+a3[10]*x310+ a4[1]*x41+a4[2]*x42+a4[3]*x43+a4[4]*x44+a4[5]*x45+a4[6]*x46+a4[7]*x47+a4[8]*x48+a4[9]*x49+a4[10]*x410+ a5[1]*x51+a5[2]*x52+a5[3]*x53+a5[4]*x54+a5[5]*x55+a5[6]*x56+a5[7]*x57+a5[8]*x58+a5[9]*x59+a5[10]*x510+ a6[1]*x61+a6[2]*x62+a6[3]*x63+a6[4]*x64+a6[5]*x65+a6[6]*x66+a6[7]*x67+a6[8]*x68+a6[9]*x69+a6[10]*x610+ a7[1]*x71+a7[2]*x72+a7[3]*x73+a7[4]*x74+a7[5]*x75+a7[6]*x76+a7[7]*x77+a7[8]*x78+a7[9]*x79+a7[10]*x710+ a8[1]*x81+a8[2]*x82+a8[3]*x83+a8[4]*x84+a8[5]*x85+a8[6]*x86+a8[7]*x87+a8[8]*x88+a8[9]*x89+a8[10]*x810+ a9[1]*x91+a9[2]*x92+a9[3]*x93+a9[4]*x94+a9[5]*x95+a9[6]*x96+a9[7]*x97+a9[8]*x98+a9[9]*x99+a9[10]*x910+ a10[1]*x101+a10[2]*x102+a10[3]*x103+a10[4]*x104+a10[5]*x105+a10[6]*x106+a10[7]*x107+a10[8]*x108+a10[9]*x109+a10[10]*x1010,{x11+x12+x13+x14+x15+x16+x17+x18+x19+x110=b[1], x21+x22+x23+x24+x25+x26+x27+x28+x29+x210=b[2], x31+x32+x33+x34+x35+x36+x37+x38+x39+x310=b[3], x41+x42+x43+x44+x45+x46+x47+x48+x49+x410=b[4], x51+x52+x53+x54+x55+x56+x57+x58+x59+x510=b[5], x61+x62+x6+x64+x65+x66+x67+x68+x69+x610=b[6], x71+x72+x73+x74+x75+x76+x77+x78+x79+x710=b[7], x81+x82+x83+x84+x85+x86+x87+x88+x89+x810=b[8], x91+x92+x93+x94+x95+x96+x97+x98+x99+x910=b[9], x101+x102+x103+x104+x105+x106+x107+x108+x109+x1010=b[10], x11+x21+x31+x41+x51+x61+x71+x81+x91+x101=c[1], x12+x22+x32+x42+x52+x62+x72+x82+x92+x102=c[2], x13+x23+x33+x43+x53+x63+x73+x83+x93+x103=c[3], x14+x24+x34+x44+x54+x64+x74+x84+x94+x104=c[4], x15+x25+x35+x45+x55+x65+x75+x85+x95+x105=c[5], x16+x26+x36+x46+x56+x66+x76+x86+x96+x106=c[6], x17+x27+x37+x47+x57+x67+x77+x87+x97+x107=c[7], x18+x28+x38+x48+x58+x68+x78+x88+x98+x108=c[8], x19+x29+x39+x49+x59+x69+x79+x89+x99+x109=c[9], x110+x210+x310+x410+x510+x610+x710+x810+x910+x1010=c[10]}, NONNEGATIVE); (находим оптимальный план перевозок)

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

> assign(%); (присваивает переменные к функции)

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

(нашли минимальное значение функции)

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);

{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

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ