Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Современные алгоритмы оптимизации автоматизированных производств. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1.3. Классификация методов оптимизации проектных решений
- •Вопросы для самопроверки
- •2. ДЕТЕРМИНИРОВАННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ
- •2.1. Линейное математическое программирование
- •2.2. Нелинейное математическое программирование
- •2.2.1. Однопараметрические целевые функции
- •2.2.2. Многопараметрическая оптимизация
- •3. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
- •3.1. Основные положения многокритериальной оптимизации
- •Вопросы для самопроверки
- •Вопросы для самопроверки
- •4. СТОХАСТИЧЕСКИЕ МЕТОДЫ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ
- •4.1. Метод Монте-Карло
- •4.2. Генетические алгоритмы
- •4.3. Муравьиные алгоритмы
- •4.4. Жадные алгоритмы
- •4.5. Алгоритм роя частиц
- •Вопросы для самопроверки
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК

2. ДЕТЕРМИНИРОВАННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ
Не решение уравнений, но составление их,
вот что дается наиболее трудно.
М. Планк. Введение в общую механику, 1927 г.
2.1. ЛИНЕЙНОЕ МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
В тех случаях, когда и целевая функция, и ограничения представляют
собой линейные равенства или неравенства, говорят о линейном математическом программировании.
Задачи линейного программирования можно решать методами нелинейного программирования и многими другими методами оптимизации.
Но разработано много методов, ориентированных на решение задач именно линейного программирования и являющихся более эффективными
в этом классе задач.
Линейные неравенства, выражающие функции ограничений, выделяют в n-мерном пространстве свободных параметров некоторую допустимую область их значений. Это пространство представляет собой n-мерный
выпуклый многогранник, грани которого, пересекаясь, образуют вершины
этого многогранника. Оптимальное (минимальное или максимальное)
значение целевой функции соответствует одной из вершин этого многогранника. Следовательно, задача линейного программирования заключается в поиске той вершины из многих, в которой значение целевой функции будет оптимальным.
Поясним постановку и решение задач линейного программирования
примером. Пусть для сборки систем управления требуется приобретение
двух типов комплектующих. Процесс изготовления системы управления
содержит две операции: сборку системы управления и ее отладку.
21

Требуется определить, какое количество комплектующих одного и дру-
Комплектующие
Ресурсы
на месяц
1-го типа
2-го типа
Количество комплектующих на систему
управления, шт.
Время, ч:
на сборку
4 6 900
на отладку
4 4 600
Финансовые средства, руб.
30
50
6000
гого типа целесообразно включать в систему управления для получения
наибольшей экономии при ограничениях на ресурсы, указанных в табл. 2.1.
Таблица 2.1
Исходные данные для расчета
Затраты
20 40 4000
Каждая комплектующая 1-го типа позволяет фирме получить эконо-
мию 80 руб., а 2-го типа – 100 руб.
Запишем математическую модель задачи: целевая функция (ожидае-
мая экономия)
где
= 80+ 100
– соответственно количество комплектующих 1-го и 2-го ти-
,
пов, необходимое для изготовления систем управления в месяц.
Уравнения на ограничения ресурсов запишутся так:
– ограничения на количество комплектующих:
20+ 404000;
– ограничения на время сборки:
– ограничения на время отладки:
4+ 6900;
4+ 4600;
22

– ограничения на средства:
30+ 506000.
Таким образом, необходимо решить задачу оптимизации
= 80+ 100max
при следующих ограничениях:
20+ 404000; (2.1)
4+ 6900; (2.2)
4+ 4600; (2.3)
30+ 506000; (2.4)
0; (2.5)
0. (2.6)
Неравенства (2.5) и (2.6) объясняются тем, что число комплектующих
не может быть отрицательным. Поскольку неизвестных два, то область
возможных значений можно вычертить на плоскости в системе координат
0
.
Чтобы найти в первой четверти плоскости 0
множество точек,
которые удовлетворяют приведенным неравенствам, построим соответствующие им прямые, считая неравенства строгими. Полученные прямые
построим по отрезкам на осях координат (рис. 2.1):
А(200;0); В(0;100);
С(225;0); D(0;150);
E(150;0); F(0;150);
G(200;0); H(0;120);
= 0;
23
= 0.

Непосредственно из рис. 2.1 видно, что допустимая область очерчивается прямыми, обозначенными цифрами 1, 3, 5 и 6, соответствующими
неравенствам (2.1), (2.3), (2.5) и (2.6).
Рис. 2.1. Допустимая область свободных параметров и
Так как априори известно, что решение находится в вершинах многоугольника, то достаточно найти значения целевой функции в этих вершинах.
Для этого определим координаты дополнительной вершины М как
точки пересечения прямых 1 и 3:
20+ 40
= 4000;
4+ 4
1 = 100;
= 600;
= 50.
2
Вычислим значения функции Z в вершинах многоугольника, подста-
вив соответствующие значения и
В точке 0 (0; 0): Z = 0;
в точке В (0;100): Z = 10000;
в точке Е (150;0): Z = 12000;
в точке М (100;50): Z = 13000.
24
:

Таким образом, максимальное значение функция Z приобретает
в точке М, следовательно, оптимальное количество комплектующих для
сборки систем управления: = 100;
= 50.
При этом будут полностью исчерпаны запасы:
– комплектующих (20 100 + 40 50 = 4000);
– времени на сборку (100 + 4 50 = 600).
Останутся запасы:
– средств
(
30 100 + 50 50 = 5500
– времени на отладку
(
40 100 + 6 50 = 700
)
;
)
.
Вершины многогранника, представляющего решение этой задачи, по-
казаны на рис. 2.2.
Рис. 2.2. Пространственное расположение
значений целевой функции
Плоскость А'В'С'D' есть плоскость значений целевой (точнее для данного примера – критериальной) функции при допустимых значениях свободных параметров, находящихся в многоугольнике АВСD, а точка C'– ее
оптимальное значение.
Понятно, что при большом числе вершин нерационально вести расчет
целевых функций в каждой вершине и сравнивать их. Желательно использовать более целенаправленный метод, например симплекс-метод (симплекс-вершина).
25

Графически можно тоже несколько улучшить метод поиска оптимальной вершины. Для этого придают произвольное значение целевой
функции и строят соответствующую ей прямую, а затем эту прямую перемещают параллельно себе до соприкосновения с наиболее удаленной
граничной точкой допустимой области.
Пусть Z = 10 000 (график этой функции отмечен на рис. 2.1 как
Z = 10 000). Передвигая эту прямую по стрелкам до соприкосновения
с точкой М, найдем искомое решение.
В технике часто параметры принимают либо фиксированные (дискретные) значения с некоторым интервалом дискретизации, либо только
целые положительные значения. В этом случае говорят о дискретном,
или целочисленном линейном программировании.
Например, если по числу входов или выходов один контроллер недостаточен, а два контроллера вместе имеют избыточное число входов или
выходов, то приходится использовать два контроллера, несмотря на то,
что часть входов или выходов не будет задействована.
Аналогичная ситуация может возникнуть при приобретении необходимого числа оборудования для обеспечения заданной программы выпуска изделий, когда n-го числа оборудования недостаточно, а (n+1)-ое оборудование избыточно. Проиллюстрируем проблему целочисленного программирования примерами.
Пример 1. Предприятие решило приобрести два вида робототехнических комплексов (РТК). В цехе для их размещения имеется 6,5 м2 площади.
На приобретение оборудования предприятие может израсходовать
10 млн руб. При этом РТК первого типа стоит 1 млн руб., а второго типа –
2,5 млн руб. На установку РТК первого типа требуется 2 м2 площади, а на
установку РТК второго типа – 1 м2. Приобретение РТК первого типа позволяет увеличить выпуск продукции в смену на 2 единицы, а второго типа –
на 4 единицы. Обратим внимание на то, что РТК второго типа занимает
меньшую площадь и производительнее, но стоит дороже.
26

Определить, какие РТК и какое их количество выгодно приобрести
предприятию для увеличения выпуска продукции при имеющихся ресурсах.
Решение.
1. Составим математическую модель задачи.
Обозначим неизвестные:
– количество РТК 1-го типа;
– количество РТК 2-го типа.
Тогда параметры должны удовлетворять следующим неравенствам:
– ограничения по площади: 2 + 6,5;
– ограничения по средствам: + 2.5 10.
Целевая (критериальная) функция имеет вид
= 2+ 4 max.
Очевидные обязательные условия: 0; 0. Дополнительные
условия: ,
– целые числа.
2. Построим допустимую область параметров по отрезкам на осях ко-
ординат (рис. 2.3):
Рис. 2.3. Допустимая область параметров
27

2+
= 6,5;
= 0;
= 0;
+ 2,5;
= 0;
= 0;
= 6,5;
= 3,25.
= 10;
= 10/2,5 = 4;
= 10.
3. Найдем точки пересечения прямых, ограничивающих допустимую
область (рис. 2.3):
= 6,52
+ 2,5(6,5
;
) = 10;
+ 16,25 5 10 = 0;
4
= 6,25;
= 1,5625;
= 6,5 2 1,5625 = 3,375 .
Тогда целевая функция Z будет равна
= 2 1,5625 + 4 3,375 = 16,625.
Так как
могут быть только целыми числами, то по рис. 2.3 их
значения можно принять соответственно: = 1;
= 3. То есть пред-
приятию для максимального увеличения выпуска продукции следует приобрести один РТК 1-го типа и три РТК 2-го типа.
28

Это позволит увеличить выпуск продукции до 14 единиц (= 2 1 +
+ 4 3 = 14). При этом остаются недоиспользованными площадь (1 2 +
+ 3 1 = 5
) и средства
(
1 1 + 3 2,5 = 8,5
)
.
В предыдущем примере задача решалась достаточно просто графически. В действительности такие задачи могут быть существенно сложнее,
и для их решения разработано достаточно много специальных методов:
– метод ветвей и границ;
– алгоритм Гомори;
– метод усечений и покрытый;
– методы решения задач о назначении и др.
Приведем простейший пример решения задач методом «ветвей
и границ».
Пример 2. Пусть требуется решить задачу:
= 11 max
при следующих ограничениях:
10 – 40;
+ 20,5;
0; 0;
, , .
Решение.
Решая задачу обычным путем, получим точку пересечения прямых
(рис. 2.4):
10 –
+
= 40;
= 20,5,
а именно: = 5,5;
При этом
= 45,5.
= 15.
29

Рис. 2.4. Допустимая область свободных параметров Х1, Х
2
Однако такое решение недопустимо, так как не является целочис-
ленным.
Простейший путь – округлить и подсчитать значения при
и
равна 40, а значения = 6
= 6.
При значениях координат = 5
= 15 неприемлемы, так как располага-
= 15 целевая функция будет
ются вне допустимой области. Оказывается, допустимое решение
= 15 не является оптимальным.
Используя граничные целые значения параметра = 5
= 5
= 5,
= 6,
произведем ветвление решения задачи и рассмотрим два ее варианта при
новых граничных условиях:
5; 6.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
