Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Решение классических задач оптимизации




Первую в истории оптимизационную задачу сформулировал Леонардо Фибоначчи, итальянский математик XIII века. Его задача "О гирях" посвящена проблеме взвешивания с помощью рычажных весов и создания оптимальной системы гирь для этой цели.

Задача о рюкзаке

Одно из первых упоминаний об этой задаче можно найти в статье Джорджа Балларда Мэтьюса, датированной 1897 годом.

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

В общем случае задача о рюкзаке бывает нескольких типов: простейший рюкзак (каждый предмет можно положить только в одном экземпляре), ограниченный рюкзак (каждый предмет кладется не более m раз), неограниченный рюкзак (каждый предмет можно укладывать сколько угодно раз), рюкзак с мультивыбором (все предметы разделены на S классов, обязательно вложить хотя бы один предмет каждого класса), мультипликативный рюкзак (имеется несколько рюкзаков, каждый со своей вместимостью) и многомерный рюкзак (у каждого предмета есть несколько характеристик, например, вес и объем, а у рюкзака – несколько ограничений).

Исходные данные к задаче представлены в табл. 15.2.

Табл. 15.2

№ предмета Стоимость Вес Количество в рюкзаке
1
2

Здесь  – количество предметов -го типа, которые нужно положить в рюкзак.  – целое,  для тех предметов, которые в рюкзак класть не имеет смысла, Суммарный вес вещей , суммарная их стоимость – .

В рассматриваемом случае должно соблюдаться условие , а также, при необходимости, , где m – максимальное количество вещей одного типа в рюкзаке, .

Целевая функция будет иметь вид .

Пример организации данных в таблице Microsoft Excel (целевая функция выделена красным) показан на рис. 15.11.

Рис. 15.11 Задача о рюкзаке

Транспортная задача

Эта задача была впервые формализована французским математиком Гаспаром Монжем в 1781 году.

Допустим, требуется составить план перевозок однородного груза таким образом, чтобы общая стоимость перевозок была минимальной. Исходные данные к задаче представлены в табл. 15.3.

Табл. 15.3

Поставщики

Потребители

Запасы поставщиков

1

2

j

n

1

       

2

       

 

i

       

m

       
Спрос потребителей

 

 

 

 

Здесь  – количество единиц груза, которые нужно вывезти из i -го пункта отправления ();  – количество единиц груза, которое нужно привезти в j-й пункт назначения ();  – стоимость перевозки единицы груза из i -го пункта в j -й, зависит от расстояния между пунктами и некоторых других факторов. Обозначим через  количество единиц груза для перевозки из i -го пункта в j -й. Тогда можно записать: общая (суммарная) стоимость перевозок ; количество груза, вывозимого из i- го пункта ; количество груза, доставляемого в j -й пункт . Количество вывезенного груза должно быть равно количеству принятого.

В рассматриваемом случае должны выполняться как минимум следующие условия (они будут ограничениями задачи): , ; , ; .

Целевая функция представляет собой суммарную стоимость перевозок и имеет вид: .

Пример организации данных в таблице Microsoft Excel показан на рис. 15.12.

Рис. 15.12 Транспортная задача

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

Задача коммивояжёра (коммивояжёр – разъездной торговый агент) – одна из самых известных задач оптимизации, заключающаяся в отыскании самого выгодного маршрута, проходящего через указанные точки хотя бы по одному разу с последующим возвратом в исходную точку. Допустим, нам необходимо посетить каждую точку строго один раз. Исходные данные к задаче представлены в табл. 15.4.

Здесь  – стоимость переезда из i -го пункта в j -й, зависит от расстояния между пунктами и некоторых других факторов. Обозначим через двоичную переменную  факт переезда коммивояжера из пункта  в пункт . , если перемещение имеет место, и 0, если нет. Тогда можно записать: общие (суммарные) затраты на разъезды .

Каждый из пунктов нужно посетить только один раз. Чтобы отследить этот факт, введем переменные  – количество выездов из пункта i, , , и  – количество въездов в пункт j, , (). Величины  и  должны быть равны 1 для всех i и j.

Решение задачи с такими условиями может привести к неверному результату, когда будет определено несколько непересекающихся оптимальных кольцевых маршрутов. Чтобы маршрут был один, приходится ввести еще одну проверку. Будем считать, что коммивояжер выезжает из пункта 1 (и возвращается в него же). Тогда можно ввести переменную , характеризующую очередность въезда в пункт j. Для пункта, в который коммивояжер приедет из пункта 1,  будет равно 0, для следующего пункта – 1, и т.д. В этом случае существование единственного замкнутого маршрута будет описано условием , где , .

Табл. 15.4

№ пункта

№ пункта

Количество въездов в пункт

1

2

j

n

1

       

2

       

 

i

       

n

       
Количество выездов из пункта

 

 

 

 
Порядок посещения пункта

 

В рассматриваемом случае должны выполняться как минимум следующие условия (они будут ограничениями задачи):  для всех ; , ; , ; , , .

Целевая функция представляет собой суммарные затраты на переезды и имеет вид: .

Пример организации данных в таблице Microsoft Excel показан на рис. 15.13.

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





Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 351 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2285 - | 1991 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.