Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Примеры решения типовых задач ⇐ ПредыдущаяСтр 4 из 4
Задача № 1 Для изготовления двух видов продукции Таблица 1.1
Прибыль, получаемая от единицы продукции Необходимо составить такой план производства продукции, чтобы прибыль от ее реализации была максимальной. Составим экономико-математическую модель данной задачи. Введем обозначения:
Ресурса
Ресурса
И, наконец,
Поскольку потребление ресурсов не должно превышать
Согласно условию задачи:
Суммарная прибыль
Таким образом, экономико-математическая задача: найти такой план выпуска продукции Строим область допустимых решений задачи. Нумеруем ограничения задачи. В прямоугольной декартовой системе координат (рис. 1) строим многоугольник решений. Для этого в неравенствах системы ограничений и условиях неотрицательности переменных знаки неравенств заменим на знаки точных равенств.
Построив полученные прямые, найдём соответствующие полуплоскости допустимых значений переменных и их пересечение (рис. 1). Многоугольником допустимых решений задачи является шестиугольник Строим вектор
В результате получим
Геометрический метод прост и нагляден. Однако у него есть большой недостаток: данный метод применим только для задач с двумя неизвестными
Рис. 1.
Задача № 2 Построить первоначальный опорный план задачи, заданной матрицей планирования, методом северо-западного угла.
Решение:
Последовательность заполнения клеток: 1. 2. В оставшейся таблице северо-западная клетка находится в первой строке и втором столбце 3. 4. 5. 6. В таблице осталась одна строка и один столбец. Это последний шаг процесса, Количество заполненных клеток равно 6,
Задача № 3 Если условия транспортной задачи заданы в виде схемы, на которой условно изображены поставщики, потребители и связывающие их дороги, указаны величины запасов груза и потребности в нем, а также числа cij, являющиеся показателями принятого в задаче критерия оптимальности (тарифы, расстояния и т. п.), то говорят, что транспортная задача поставлена в сетевой форме (рис. 2).
Рис. 2.
Пункты расположения поставщиков и потребителей будем изображать кружками и называть вершинами (узлами) сети, запасы груза будем записывать в кружках положительными, а потребности – отрицательными числами. Дороги, связывающие пункты расположения и потребления груза, будем изображать линиями и называть ребрами (дугами, звеньями) сети. На сети могут быть изображены вершины, в которых нет ни поставщиков, ни потребителей. Наличие таких вершин не повлияет на способ решения, если считать, что запасы (потребности) груза в них равны нулю. Различия между транспортными задачами в матричной и сетевой формах весьма незначительны, так как методы их решения основаны на одних и тех же идеях (метод потенциалов). Решение задачи на сети начинается с построения начального опорного плана. Последовательность решения задачи рассмотрим на конкретном примере (см. рис. 6.1). Поставку груза из вершины в вершину будем обозначать стрелками с указанием величины поставок. Опорный план должен удовлетворять следующим требованиям: 1) все запасы должны быть распределены, а потребности удовлетворены; 2) к каждой вершине должна подходить или выходить из нее хотя бы одна стрелка; 3) общее количество стрелок должно быть на единицу меньше числа вершин 4) стрелки не должны образовывать замкнутый контур. План распределения груза, отвечающий этим требованиям, представлен на рис. 3. Далее следует проверить план на оптимальность. Для этого вычисляем потенциалы. Одной из вершин (например, вершине 1) присвоим некоторое значение потенциала (например, равное 10). Для наглядности потенциалы будем заключать в рамки. После этого, двигаясь по стрелкам, определяем потенциалы остальных вершин, руководствуясь правилом: если стрелка выходит из вершины, то к потенциалу этой вершины прибавляем показатель cij критерия оптимальности, если же направление стрелки противоположно, cij вычитаем (см. рис. 3).
Рис. 3.
После вычисления потенциалов находят характеристики ребер без стрелок по правилу: из большего потенциала вычитается меньший, а разность вычитается из показателя cij, отвечающего данному ребру:
Если все ребра без стрелок имеют неотрицательные характеристики, то составленный план является оптимальным. Вычислим характеристики ребер без стрелок:
Три ребра имеют отрицательные характеристики, в этом случае выбирается ребро с наименьшей отрицательной характеристикой и к нему подрисовывается новая стрелка, при этом образуется замкнутый контур из стрелок. Новая стрелка направляется от вершины с меньшим потенциалом к вершине с большим потенциалом. В нашем примере новая стрелка направлена от вершины II к вершине I (штриховая линия (см. рис. 3). Для определения величины поставки (ρ) для ребра
Определим оптимальное значение целевой функции:
Вырождение плана транспортной задачи в сетевой постановке проявляется в том, что при полном использовании запасов и полном удовлетворении потребностей количество стрелок оказывается меньше чем
Рис. 4.
В случае открытой модели вводят фиктивного потребителя (поставщика) со спросом, равным небалансу. Фиктивный потребитель (поставщик) соединяется дугами непосредственно со всеми поставщиками (потребителями), при этом показатели cij ребер, соединяющих фиктивного потребителя (поставщика) с реальными поставщиками (потребителями), следует брать одинаковыми и сравнительно большими. Это делается для того, чтобы исключить возможность использования фиктивной вершины в качестве промежуточного пункта.
Задача № 4 Турист готовится к длительному переходу в горах. В рюкзаке он может нести груз, масса которого не более G кг. Груз может включать n предметов, причем i -й из них обладает массой q i кг, i = Составить набор предметов таким образом, чтобы их суммарная масса не превосходила G, а суммарная полезность была наибольшей. Обозначим х i = 0, если i -й предмет отвергается и х i = 1, если предмет берут в рюкзак. Математическая модель задачи
Метод ветвей и границ является одним из методов решения задачи о «рюкзаке». Метод ветвей и границ (МВГ) относится к группе комбинаторных методов дискретного программирования и является одним из наиболее распространенных методов этой группы. В основу МВГ положены методы построения, позволяющие в ряде случаев существенно уменьшить объем перебора вариантов. МВГ – метод направленного перебора множества вариантов решения задачи. Графически перебор можно представить в виде дерева, т.е. связанного графа, но не содержащего циклов. Корень этого дерева все множество вариантов, а вершины дерева подмножества частично упорядоченных вариантов решения. Идея метода состоит в том, что для ветвления выбираются те подмножества, которые имеют лучшую оценку. Трудность задачи в получении этой оценки. Понятие оценки подмножества (множества) · Если Мк – некоторое подмножество множества М, то оценкой множества Мк называется число (Мк) такое что, Алгоритм МВГ 1. Строятся вершины первого уровня. Для каждой вершины подсчитывается оценка φ (Мк). Ветвится вершина, которой соответствует максимальная оценка; 2. Для всех вершин j – го уровня (j = 2,3,…) подсчитывается оценка φ (Мк). Ветвится та из висячих вершин уровня j, у 2 – 1, …1, которой соответствует максимальная оценка. 3. Действия пункта 2 повторяются до тех пор пока не будет получено точное решение на последнем n -ом уровне. Конечная висячая вершина отвечает конкретному варианту х * = (х 1*, х 2*,…, х 4*). Для него подсчитывается точное значение целевой функции f (х *). 4. Если значение f (х *) не хуже оценок оставшихся вершин, т.е. f (х *) ≥ φ (Мк), то найдено оптимальное решение. Причем: а) в случае строгого неравенства f (х *) > φ (Мк) оптимальное решение единственно. б) для висячих вершин, в которых f (х *) = φ(Мк) производится ветвление и осуществляется поиск других оптимальных решений задачи в соответствии с пунктами 2 и 3. Если значение f (х *) для вершин последнего уровня не лучше значения оставшихся висячих вершин, т.е. f (х *) < φ(Мк), то переходят на шаг 2. При использовании алгоритма МВГ о задаче наилучшей загрузки «рюкзака» учитывают, что каждый предмет может быть выбран единственный раз в единичном количестве. В общем случае имеется 2n вариантов, однако часть этих вариантов недопустима, т.к. соответствующий некоторому вектору х вариант может не удовлетворять ограниченного по максимальной загрузке «рюкзака», что позволяет дополнительно отсекать ветви. Ветвление задачи организуется следующим образом: 1. Все множество вариантов М на два подмножества:
2. Дальнейшее ветвление ведется аналогично, т.е. разбиваем множества М0 и М1 по второй переменной х 2: М1 = М11 U М10 и М01 U М00 и т.д. В качестве оценки φ (Мj) каждого из рассматриваемых в задаче множеств Мj выбираем значение целевой функции f(х1*) соответствующее решениям также задачи (3) – (5), но без ограничения х i є {0,1} (т.е. допускается выбор кратных и нецелых частей предметов). Решение этой вспомогательной задачи записывается в явном виде, если номера предметов упорядочены по удельным полезностям
Оптимальное решение задачи (3) – (4) без учета условия (5) запишем, выбрав максимальное количество первых предметов:
Указанное предварительное упорядочение заказов позволяет сформулировать эвристическое правило порядка ветвления правило порядка ветвления и для построения оценки каждого следующего множества Мj следует: 1. Смещаться по списку заказов на следующую позицию, добавляя к этой оценке уже имеющуюся часть f (х) отвечающую уже выбранным заказом. 2.Заменять 6 на оставшийся объем ресурса. Задача 2 Пусть имеются все необходимые данные для задачи о «рюкзаке», которые уже упорядочены по убывающим Kj и G = 13 … (табл. 1). Таблица 1
Решение: 1. Оценку множества М проводим в соответствии с соотношениями (*) берем относительное решение вспомогательной задачи х м*= (
2. Произведем разбиение М = М1 U М0, где М1 - множество содержащее варианты с выбором первого предмета, М0 – множество, содержащее варианты с отказом от первого предмета. - оптимальное решение ослабленной задачи на множестве М0 имеют вид х 0* = (0,
- оптимальное решение вспомогательной задачи на множестве М1:
Это решение дает оценку множества М1 в виде
Полученные оценки множеств М1 и М0 равны, следовательно на этом шаге ветвятся оба множества.
множество М0: → М0 = М00 Во множестве М00 – содержатся варианты, в которых первые два предмета в «рюкзак» не взяли. По правилу выбора решения вспомогательной задачи получим, что на множестве М00: Х00* = (0,0, Множество М01 включает варианты с отказом от первого предмета и выбором второго. Для него Х 01* = (0, 1,
4. Поскольку полученные оценки для множеств М00 и М01 меньше висячих вершин М1, то переходим на ветвь соответствующую множеством с выбором первого предмета. Производим ветвление М1: М1 = М11 Для множества М11 имеем: х 11* = (1, 1, оценка Для множества М10 имеет относительное решение вспомогательной задачи х 10* = (1, 0, 5. Множество М11 = М110 ∙ Для множества М110 имеем решение х 110* = (1, 1, 0, φ(М110) = f (х 110*) = ∙ Множество М111 остается, поскольку ему элементы не удовлетворяют ограничению по ресурсам (1) g1 + g2 + g3 = 14 > 13.
φ = 39 φ = 39
∑gixi > G
φ(М) = f (x *11000) = 27 φ(M) = f (x *11010) = 35 φ(M) = f (x *11001) = 35 f макс = f (х *11001) = f (x *11010) = 35
6. Производим ветвление множества М110 = М1100 - Для множества М1100 решение х *1100 = (1, 1, 0, 0, оценка φ(М1100) = f (x *1100) =
- Для множества М1101 имеем решение х *1101 = (1, 1, 0, 1 7. Поскольку множества М1100 и М1101 имеют одинаковые оценки производим ветвление обоих множеств и просмотрим решения последнего уровня. М1100 = М11000 - Для множества М11000 решение х *11000 = (1, 1, 0, 0, 0) оценка φ(М11010) = f (x *11000) = 15 - Для множества М11001: х *11001 = (1, 1, 0, 0, 1) оценка φ(М11001) = f (x)*11001) = - Множество М11011 – выходит за ограничения по ресурсу
Вывод: Задача имеет два оптимальных решения х* 11011 = (1, 1, 0, 0, 1) и х *11010 = (1, 1, 0, 1, 0), на которых целевая функция f (х *11010) = f (x *11001) = 35.
На оставшихся висячих вершинах значение оценок меньше 35, поэтому других оптимальных решений нет. Date: 2016-05-14; view: 922; Нарушение авторских прав |