Читайте также:
|
|
Коммивояжеру, находящемуся в Париже, необходимо посетить три города. Он получил информацию о стоимости проезда самолетом в каждый из выбранных городов и стоимость проезда из одного города в другой. На основе добытых данных он составил матрицу стоимостей (см. табл.) проезда в выбранные города и обратно. Зная матрицу стоимостей коммивояжеру надо так составить маршрут путешествия, чтобы затраты на путешествие были бы минимальными и чтобы выполнялось требование: каждый пункт посещается только один раз.
Пункты | Париж | Берлин | Рим | Лондон |
Париж | ||||
Берлин | ||||
Рим | ||||
Лондон |
Математическая модель задачи выглядит следующим образом.
Целевая функция имеет вид:
0x11+270× x12+430× x13+160× x14+70× x21+0× x22+160x23+10x24+200× x31+130x32+0× x33+ +350× x34+210× x41+160x42+250× x43+0× x44® min,
Ограничения имеют вид:
x11+x21+x31+x41=1,
x12+x22+x32+x42=1,
x13+x23+x33+x43=1.
x14+x24+x34+x44=1,
x11+x12+x13+x14=1,
x21+x22+x23+x24=1,
x31+x32+x33+x34=1,
x41+x42+x43+x44=1,
u2-u3+3× x23£ 2,
u2-u4+3× x24£ 2,
u3-u2+3× x32£ 2,
u3-u4+3× x34£ 2,
u4-u2+3× x42£ 2,
u4-u3+3× x43£ 2.
Вид электронной таблицы, созданной для решения задачи, представлен на рис. 40. Значения переменных xij располагаются в блоке B3:E6. В данном блоке ячейки, расположенные по диагонали обнулены (пункт назначения не может быть одновременно пунктом прибытия) и выделены, для удобства задания ограничений. Даны стоимости проезда из города в город (блок B11:E14). Для вычислений необходимо задать размерность задачи n (количество городов)- ячейка F16.
Рис. 40
Целевая функция расположена в ячейке F8. Ограничения находятся в блоках B7:E7 (коммивояжер въезжает один раз в каждый город) и F3:F6 (коммивояжер выезжает из каждого города один раз) (см. рис. 40 и 41). Вид электронной таблицы в режиме отображения формул представлен на рис. 41. В задаче коммивояжера есть ряд специфических ограничений по дополнительным переменным ui (см. мат модель). Формулы этих ограничений находятся в блоке ячеек B17:E19. Значения самих переменных располагаются в блоке B8:E8.
На рис. 42 представлена запись условий задачи в окне "Поиск решения". Как известно, дополнительные переменные не относятся к целевой функции, но они, также как и xij, являются изменяемыми, поэтому адреса содержащих их ячеек должны быть введены в поле Изменяя ячейки одновременно с адресами переменных целевой функции.
Операцию ввода удобно проводить с помощью мыши. Необходимо установить курсор ввода в поле Изменяя ячейки, затем выделить мышью блок ячеек переменных целевой функции, нажать <Ctrl> и, удерживая эту клавишу, выделить мышью блок ячеек рабочего листа, отведенный для переменных ui. В поле ввода адреса блоков отделяются ";" (см. рис. 42).
Рис. 41
Перечислим ограничения, которых не видно на рис. 42: $C$4=0; $D$5=0; $E$6=0; $F$3:$F$6=1.
Рис. 42
Первая запись в группе Ограничения представляет собой совокупность ограничений по дополнительным переменным ui. Каждая ячейка блока в левой части неравенства содержит формулу одного ограничения (см. рис. 41 и мат. модель), правую часть представляет одно значение, равное n-2, содержащееся в F18. Такая запись означает, что каждая ячейка блока $B$17:$D$19 меньше либо равна 2 (4-2=2).
В поиске решения нельзя явно задать ограничение i¹ j. Исходя из смысла переменных xij можно предположить, что значения тех xij, для которых i=j (расположенных по диагонали в блоке переменных), всегда должны быть равны 0 и ввести соответствующие ограничения. В группе Ограничения таких ограничений четыре: $B$3=0, $C$4=0, $D$5=0, $E$6=0.
По результатам поиска решения найден ответ задачи: из Парижа коммивояжер летит в Лондон, оттуда в Рим, затем в Берлин, откуда возвращается в Париж. Общая стоимость перелета составит 610 д. е. (см. рис. 40).
Дата добавления: 2015-07-14; просмотров: 165 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Назначение механизмов на работы | | | Задача о доставке |