Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec_MO_4-6.doc
Скачиваний:
2
Добавлен:
20.04.2019
Размер:
217.09 Кб
Скачать

Математическая модель.

Предположим m=n. Введем целочисленное обозначение пусть Xij 1- i-ый на j—ю , 0 в противном случае. Получим матрицу из элементов 0 и 1. Так как исполнитель может быть назначен на одну работу и одна работа может быть выполнена только одним исполнителем в каждой строке и столбце только одна 1. Система ограничение все = 1 (по строкам и столбцам) Х –(0 ;1) Z=двойная сумма СijXij ->min =>Задача о назначениях является частной Т.З. , где ai и bj=1 причем r=m+n-1=2n-1>n –решение всегда выраждена.

Теоремы на которых основаны решения задачи о Назначениях.

Т. Кенинга Если элементы матрицы С, разделить на два класса , на основании свойства R , то минимальное число линий содержащих все элементы со свойством R = максимальному числу таких элементов со свойством R, не какие два из которых не лежат на одной прямой.

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

С=¦Сij¦

C1=¦Cij-Ui+Vj¦ - док-ть что Х не изменится.

Z1(X)= (Cij-Ui+Vj)Xij= CijXij- UiXij+ VjXij=Z(x)- Ui Xij + Vj Xij = > Z1(x)=Z(x)- Ui+ Vj – очевидно что решение не изменилось Xij=1

Изменилось только значение функции

3) Если можно найти такую матрицу назначений функции Х, для которой значение функции Z будет равно=0 то Х является оптимальным решением данной задачи. Если Xij>=0; Сij>=0, то произведение их Сij*Xij>=0 сумма их тоже >=0. Очевидно что самое минимальное число 0, Х – будет являться решением задачи. => назначение производится по 0.

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

  1. Все действия выполняются с матрицей С

  2. Из каждой строки матрицы вычитается минимальный элемент этой строки

  3. Так же и столбец

  4. Минимальным числом линий вычеркиваем все 0, если число линий = n то произодим назначение.

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

Задача коммивояжера.

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

Известно что комиваяжер выезжает из города и должен посетить A1 , A2 , A3 ,…, AK городов и вернутся в город A1. Известно расстояние Cij между городами Ai – Bj причем известно Cij  Cji.

Cij = Cjj = . Спланировать маршрут таким образом, чтобы расстояние L для этого маршрута (I1 , I2 , I3 ,…, Ik ) было кротчайшим.

Математическая модель этой задачи:

х11+х12+…+х1k =1

x21+x22+…+x2k =1

xk1+xk2+…+xkk = 1

x11+ +x21 +xk1 = 1

x12+ x22+ xk2 = 1

x1k+ x2k+ +xkk = 1

Z = CijXij  min

Маршрут – это цикл.

Метод ветвей и границ.

  1. Допустимые множества в задачи коммивояжера

F(x)  min (1,2,3,…,K,1)

XД (1,3,2,…,K,1)

Для задачи допустимым планом является маршрут от 1 города, 2, 3. О.Д.Р. – есть множество маршрутов (перестановки).

  1. Нижняя оценка (граница).

Д

Нижней оценкой к  где Д* множество – называется такое число * = (Д*) удовлетворяет условию *  f(x) где XД*.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]