Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TPR-SHPR_v1_0.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
5.13 Mб
Скачать

35. Задача булевского программирования (бп): постановка, связь с транспортной задачей лп.

Задача булевского программирования

L(x)=∑∑cijxij -> max(min)

∑(от j<=1 до n) xij=1

∑(от i=1 до m) xij=1

Cij c11…c1n

cm1…cmn

1-если исполнено назначение на работу

x ij= 0 -нет

L (x)->max->L(x)->max

1. Сведение задачи к min

Строим c’ij=lj-cj

Lj=maxjcij

maxL=∑cijxj

min L12 ∑(i=1 m)∑(j=1 n) (li-cij)xij=∑(l=1 m)li-∑(j=1 n)xij - ∑(i=1 m)∑(j=1 n)cijxij=∑(i=1 m) li-L

З адача закрепления ТС за маршрутными движениями

cij = 13 10 9 12

7 11 9 5

12 13 15 10

9 14 10 8

c ’ij= 0 4 6 0

  1. 3 6 7

1 1 0 2

4 0 5 4

I II III IV

c ij’= 0 4 6 0 0 0 0 4

6 3 6 7 3 3 3 3

1 1 0 2 1 0 0 1

4 0 5 4 4 4 - -

I 1 1 5 2

II 1 1 - 2

III 1 2 - 2

IV 1 1

2ТС->1М

3ТС->3M

4TC->2M

1TC->4M

  1. Задача о закреплении транспортных средств и её решение модифицированным методом Фогеля. *Из шпор* Метод фогеля

Вместо максимума задача сводится к поиску минимума

На каждом шаге метода Фогеля для каждой i-й строки вычисляются тарифы как разность между двумя наименьшими тарифами строки. Таким же образом вычисляются тариф для каждого j-го столбца. После чего выбирается минимальный тариф из всех штрафов строк и столбцов. В строке или столбце, соответствующем выбранному тарифу, для заполнения выбирается не вычеркнутая клетка с минимальным тарифом .

Если существует несколько одинаковых по величине максимальных штрафов в матрице, то в соответствующих строках или столбцах выбирается одна не вычеркнутая клетка с минимальным тарифом .

Если клеток с минимальным тарифом также несколько, то из них выбирается клетка (i,j) с максимальным суммарным штрафом, т.е. суммой штрафов по i-й строке и j-му столбцу.

// не уверен что правильно

  1. Приближенный метод решения задачи коммивояжера, как задачи бп. Думаю как это делать все помнят *Из шпор* Метод ближайшего соседа (коммивояжера)

i\j

1

2

3

4

5

1

35

45

20

11

2

9

17

6

8

3

21

31

2

11

4

30

15

40

10

5

10

9

8

7

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

Например начинаем из первого города , находим минимальный путь для первого

Берем дальше если минимальный попадает на город который уже был то надо брать другой

1 -> 5 (11) -> 4(7)

Z=11+7+15+17+21=71

Дальше делаем тоже самое с каждым городом ( выходим из города 2 3 4 и т д )

Потом результаты сравниваем. Усё.

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