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

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;

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



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