Задачи выбора маршрута или сетевые задачи

Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 14:17, курсовая работа

Описание работы

Цель данной курсовой работы по курсу «Теория информационных процессов и систем» является разбор теоретической части, полученных на лекционном курсе и самостоятельное применение на практике теоретических знаний к решению задач по исследованию систем.
В данной курсовой работе мною будут проведены заключения в выработке оптимального решения для нахождения наикратчайшего пути между несколькими заданными точками, который был бы самым высокоэффективным.
Объектом исследования являются перевозки груза из пунктов производства в пункты потребления, а также нахождения наикратчайшего расстояния между точками в графах.
Цель работы: определение системы оптимального управления перевозками груза и нахождения кратчайшего пути, чтобы потратить меньше денег.

Содержание работы

Введение 2
Задачи выбора маршрута или сетевые задачи 3
Транспортные задачи 3
Алгоритм решения транспортной задачи 7
Пример решения транспортной задачи 7
Сетевые задачи 13
Алгоритм решения сетевой задачи 19
Нахождение минимального остова в графе с примером решения задачи 19
Нахождения кратчайшего пути в графе с примером решения задачи 21
Примеры решения задач в пакетах Microsoft Office Excel 2003 и Mathcad 2001i Professional 24
Заключение 31
Список литературы 32

Файлы: 1 файл

Задачи выбора маршрута или сетевые задачи 3.doc

— 763.00 Кб (Скачать файл)

I(X3)=min[∞, 5*+18]=23

I(X9)=min[∞, 5*+13]=12

min[I(X3),I(X4),I(X5),I(X6),I(X8),I(X9)]=6

X8:I(X8)=6*, p=6

  1. Г{X8}=Г(X8)=[X5,X6,X9]

I(X5)=min[∞, 6*+23]=29

I(X6)=min[17, 6*+15]=17

I(X9)=min[12,6*+5]=11

min[I(X3),I(X4),I(X5),I(X6),I(X9)]=7

X4:I(X4)=7*, p=7

  1. Г{X4}=Г(X4)={X3,X5,X6}

I(X3)=min[23, 7*+25]=23

I(X5)=min[29, 7*+5]=12

I(X6)=min[17, 7*+16]=17

min[I(X3),I(X5),I(X6),I(X9)]=11

X9:I(X9)=11*, p=11

  1. Г{X9}=Г(X9)={X6}

I(X6)=min[17, 11*+9]=17

min[I(X3),I(X5),I(X6)]=12

X5:I(X5)=12*, p=12

  1. Г{X5}=Г(X5)={X6}

I(X6)=min[17, 12*10]=17

min[I(X3),I(X6)]=17

X6:I(X6)=17*, p=17

  1. Г{X6}=Г(X6)={X3}

I(X3)=min[23, 17*+20]=23

X3:I(X3)=23*, p=23

 

Все вершины имеют  пометки.

 

Найдём кратчайший путь, например, (Х1,Х2).

Вершина Х2 имеет пометку 5*. Полагая в соотношении (1) Хi = Х2, получаем I(X2')+с(Х2', Х2) = I(X2) = 5.

Единственной такой  вершиной является Х7. Далее применяем  ещё раз соотношение (1) и получаем путь (Х1,Х7,Х2) и т. д.

 

 

 

 

Примеры решения задач в пакетах Microsoft Office Excel 2003 и Mathcad 2001i Professional.

 

 

1. На складах A1, A2, A3 хранится a1=100, a2=200, a3=120 единиц одного того же груза соответственно. Требуется доставить его трем потребителям B1, B2, B3, заказы которых составляют b1=200, b2=110, b3=80 единиц груза. Стоимость перевозки Ci,j единицы груза с i – склада j – ому потребителю указаны в транспортной таблице:

    

 

b1=200

b2=110

b3=80

a1=100

4

2

6

a2=200

7

5

3

a3=120

1

7

6


Требуется найти минимальную  стоимость перевозок.

Для этого, сверх имеющихся n пунктов назначения b1, b2, b3 введем еще  один, фиктивный, пункт назначения b4, которому припишем фиктивную заявку, равную избытку запасов над заявками. Стоимость перевозок из всех пунктов отправления в фиктивный пункт назначения b4 будем считать равным нулю. Введением фиктивного пункта назначения B4 с его заявкой b4 мы сравняли баланс транспортной задачи и теперь его можно решать как обычную транспортную задачу с правильным балансом (количество перевезенного груза обозначим символами x1,..., xn соответственно).

  

 

b1=200

b2=110

b3=80

b4=30

a1=100

4 x1

2 x2

6 x3

0 x4

a2=200

7 x5

5 x6

3 x7

0 x8

a3=120

1 x9

7 x10

6 x11

0 x12


Дальнейшие расчеты  производим в среде Mathcad.

 

Задаем начальные значения X.

 

Задаем общую стоимость  перевозок:

 

 

 

 

 

 

 

 

Задаем условия:

Используя встроенную функцию Mimimize, находим минимальные значения x1...x12.

 

Находим минимальную  стоимость перевозки:

 

 

 

Результаты заносим  в транспортную таблицу:

 

b1=200

b2=110

b3=80

a1=100

4

2 x2=100

6

a2=200

7 x5=80

5 x6=10

3 x7=80

a3=120

1 x9=120

7

6


 

Минимальная стоимость  перевозок: F = 1170.

 

 

2. В хозяйстве имеются пять складов минеральных удобрений и четыре пункта, куда их необходимо доставить. Потребность каждого пункта в минеральных удобрениях различна, и запасы на каждом складе ограничены. Требуется определить, с какого склада, в какой пункт поставлять, сколько минеральных удобрений для минимизации грузооборота перевозок.

Имеются следующие исходные данные.

Наличие минеральных удобрений на складах.

Склады

Наличие удобрений, т.

Склад №1

200

Склад №2

190

Склад №3

220

Склад №4

145

Склад №5

280


Потребность в минеральных  удобрениях на различных пунктах.

Пункты

Потребность в удобрениях, т.

1 пункт

200

2 пункт

150

3 пункт

220

4 пункт

330


Расстояния между складами и пунктами доставки.

 

Пункт 1

Пункт 2

Пункт 3

Пункт 4

Склад №1

6

4

5

11

Склад №2

12

6

4

9

Склад №3

15

7

10

4

Склад №4

9

5

12

5

Склад №5

3

7

12

11


На пересечении столбца  конкретного пункта доставки со строкой склада находится информация о расстояниях между этими пунктом доставки и складом. Например, расстояние между 3 пунктом и складом №3 равно 10 километрам.

Для решения задачи подготовим необходимые таблицы.

Значения ячеек по столбцу В с четвертой по восьмую строку определяются суммированием данных ячеек соответствующих строк  начиная со столбца С до столбца F .

Например, значение ячейки B4=СУММ(C4:F4)

Значения ячеек по 9 строке по столбцам от С до F определяются  суммированием данных ячеек соответствующих столбцов с 4 по 8 строки.

Например, значение ячейки С9=СУММ(C4:C8)

Каждое значение  в  ячейках на пересечении столбца  конкретного пункта доставки и строки склада означает количество тонн, поставляемых с этого склада в данный пункт  потребления. В нижней строке (строка 9)  суммируется общее количество минеральных удобрений, поставляемых в определенный пункт доставки, а во втором столбце (столбец В) суммируется количество доставленного с конкретного склада минеральных удобрений.

Теперь, используя исходные данные, введем на этом же листе требуемые объемы поставок и расстояния между складами и пунктами доставки.

В строке 16 по столбцам C-F определим грузооборот по каждому пункту доставки.  К, примеру, для 1 пункта (ячейка С16) это рассчитывается с помощью формулы

С16=С4*С11+С5*С12+С6*С13+С7*С14+С8*С15

либо можно использовать функцию СУММПРОИЗВ

С16=СУММПРОИЗВ(C4:C8;C11:C15)

В ячейке С4 находится количество минеральных удобрений, перевозимых со склада №1 в 1 пункт доставки, а в ячейке С11 - расстояние от склада №1 до 1 пункта доставки. Соответственно первое слагаемое в формуле означает полный грузооборот по данному маршруту. Вся же формула вычисляет полный грузооборот перевозок минеральных удобрений в 1 пункт доставки.

В ячейке В16  по формуле =СУММ(С16:F16) будет вычисляться общий объем грузооборота минеральных удобрений.

Таким образом, информация  на рабочем листе примет следующий вид.

Для решения транспортной задачи воспользуемся процедурой Поиск решения, которая находится в меню Сервис.

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

Поскольку в качестве критерия оптимизации нами выбрана  минимизация  грузооборота, в поле Установить целевую ячейку введите ссылку на ячейку, содержащую формулу расчета общего объема грузооборота минеральных удобрений. В нашем случае это ячейка $B$16. Чтобы минимизировать значение конечной ячейки путем изменения значений влияющих ячеек (влияющими, в данном случае это и изменяемые ячейки, являются ячейки, которые предназначены для хранения значений искомых неизвестных), переключатель установите в положение минимальному значению;

В поле Изменяя ячейки введите ссылки на изменяемые ячейки, разделяя их запятыми; либо, если ячейки находятся рядом, указывая первую и последнюю ячейку, разделяя их двоеточием ($С$4:$F$8). Это означает, что для достижения минимального грузооборота перевозок будут меняться значения в ячейках с С4 по F8, то есть будут изменяться количество груза, перевезенного по конкретному маршруту.

Если сейчас запустить  процесс подбора параметров, то будет  найден вариант, где все переменные равны нулю. И это правильно – если не перевозить ничего, то это самый дешевый вариант. Но нам необходимо перевезти минеральные удобрения, поэтому надо наложить некоторые ограничения для поиска решения.

В группе полей Ограничения нажмите кнопку Добавить. Появится диалог Добавление ограничения.

Следует ввести левую  часть ограничения в левое  поле, выбрать знак условия, накладываемого на значение и ввести правую часть  ограничения. Как и в других случаях, можно не вводить ссылки на ячейки, а выделить мышью эти ячейки. После ввода одного ограничения следует нажать кнопку Добавить и ввести следующее. По окончании ввода всех ограничений нажмите на кнопку ОК. В диалоге появятся строки введенных ограничений.

Для изменения и удаления ограничений в списке Ограничения диалогового окна Поиск решения укажите ограничение, которое требуется изменить или удалить. Выберите команду Изменить и внесите изменения либо нажмите кнопку Удалить.

Рассмотрим более подробно условия, которые следует наложить на значения в некоторых ячейках для правильного решения задачи.

Первое условие $B$4:$B$8 <=$B$11:$B$12. Оно означает, что значение в ячейке В4 должно быть меньше или равно значению в В11, в В5 меньше или равно, чем в В12, и так далее до В8 и В15.

В ячейках с В4 по В8 на листе находятся объемы поставок с конкретных складов. В ячейках с В11 по В15 - запасы на этих же складах. Так как невозможно вывести со склада больше, чем на нем есть, первое значение должно быть не больше второго.

Второе условие $С$4:$F$8>=0. Оно означает, что объем перевозок не может быть отрицательным, то есть, если на складе не хватает минеральных удобрений, их не везут с пункта доставки, на который эти минеральные удобрения были завезены ранее. Грузопоток имеет только одно направление – от складов к пунктам доставки удобрений.

И, наконец, третье, и последнее условие $С$9:$F$9>=$C$10:$F$10. Оно означает, что значения в ячейках девятой строки должны быть больше или равны значениям в ячейках десятой строки, то есть запросы пунктов доставки минеральных удобрений должны быть выполнены полностью. Перевыполнение объема поставок допустимо, а недовыполнение – нет.

Введенные условия должны позволить найти наиболее оптимальный  вариант решения задачи.. Нажмите  кнопку Выполнить для подбора решения.

 

После нахождения решения  появляется диалог Результаты поиска решения.

Нажав кнопку ОК, вы занесете вариант решения на рабочий лист.

Минимальный грузооборот  перевозок при соблюдении всех условий  равен 3540 т.-км.

Заключение.

 

 

Под названием «транспортная задача» объединяется широкий круг задач с единой математической моделью. Классическая транспортная задача – задача о наиболее экономном плане перевозок однородного продукта или взаимозаменяемых продуктов из пунктов производства в пункты потребления, встречается чаще всего в практических приложениях линейного программирования.

Информация о работе Задачи выбора маршрута или сетевые задачи