Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ / 18. Приближенные методы ЛЦП.DOC
Скачиваний:
46
Добавлен:
10.05.2014
Размер:
192.51 Кб
Скачать

Алгоритм

Шаг 0.Полагаемk=0. Выбираем в качестве начальной некоторую комбинацию изR. Для этой комбинации принимаем обозначение.

Шаг 1.Строим окрестность комбинацииM().

Шаг 2.Если, токонец:-локально-оптимальное решение. В противном случае – следующий шаг.

Шаг 3.Если, тоk=k+1;. Переходим кшагу 1.

Вполне очевидно, что за конечное число шагов будет найдена локально-оптимальная комбинация, однако эта комбинация может и не обеспечить глобального максимума ЦФ. Т.е., в принципе, процесс нужно продолжить. Здесь возможны различные варианты*

  • В качестве начальной взять другую комбинацию и повторить работу по алгоритму;

  • Переопределить окрестности комбинаций (изменить граф соседства).

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

Вопрос определения окрестности существенно зависит от специфики задачи, от ее специальных свойств.

Так для известной задачи о коммивояжере разработано много алгоритмов, которые различаются определением окрестности. Один из таких алгоритмов рассматривается ниже.

Пример метода локальной оптимизации для решения задачи о коммивояжере.

Условия задачи приведены в таблице. Предполагается, что исходным городом является город 5 – из него нужно выехать и в него же и вернуться, побывав в каждом из остальных городов только один раз.

Т.о., любая перестановка чисел  1, 2, 3, 4 однозначно определяет некоторый маршрут.

Для определения понятия окрестности введем понятие соседних маршрутов (перестановок)

Две перестановки будем называть соседними, если одну из них можно получить перестановкой двух соседних элементов. При этом первый и последний элементы будем также считать соседними.

1

2

3

4

5

1

9

23

0

10

2

0

11

0

25

3

13

10

34

0

4

1

0

7

0

5

0

38

17

42

Возьмем, например, в качестве исходной комбинации комбинацию =(1,2,3,4). Этой комбинации соответствует маршрут: 512345. Стоимость маршрута:

Лучшей оказалась комбинация =(1,4,2,3), образующая окрестность.fopt=11.

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

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

Примерподобного алгоритма.

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