Жолобов Ввведение в Математическое 2008
.pdfФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ (ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)
Д.А. ЖОЛОБОВ
ВВЕДЕНИЕ В МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Рекомендовано УМО «Ядерные физика и технологии» в качестве учебного пособия для студентов высших учебных заведений
Москва 2008
УДК 519.85(075) ББК 22.18я7 Ж79
Жолобов Д.А. Введение в математическое программирование: Учебное пособие.-М.:МИФИ, 2008.-376 с.
Рассмотрены методы решения задач линейного и дискретного программирования. Теория линейного программирования содержит обоснование симплекс-метода, теорию двойственности. Рассмотрены методы увеличения вычислительной эффективности решения задач большой размерности. Раздел, посвященный дискретному программированию, включает в себя транспортную задачу, методы решения задач целочисленного и булевого программирования. Представлен подход для решения прикладных задач, основанный на идеях динамического программирования.
Данное учебное пособие предназначено студентам, обучающимся по специальности «Прикладная математика», и может быть использовано при изучении дисциплины «Методы оптимизации». Пособие подготовлено в рамках Инновационной образовательной программы.
Рецензент д-р техн. наук, проф. Ю.П. Кулябичев
ISBN 978-5-7262-1082-7
©Московский инженерно-физический институт (государственный университет), 2008
2
ОГЛАВЛЕНИЕ |
|
ВВЕДЕНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
6 |
1. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
8 |
1.1. Постановка прикладных задач в терминах линейного |
|
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
8 |
Контрольные вопросы и задачи к разделу 1.1. . . . . . . . . . . . . . . . . . . . . . . . . |
13 |
1.2. Симплекс-метод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
16 |
1.2.1. Виды задач линейного программирования. . . . . . . . . . . . . . . . . . . . . |
16 |
1.2.2. Свойства задач линейного программирования. . . . . . . . . . . . . . . . . . |
21 |
1.2.3. Геометрическая интерпретация задач |
|
линейного программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
24 |
1.2.4. Основные понятия симплекс-метода. . . . . . . . . . . . . . . . . . . . . . . . . . |
29 |
1.2.5. Связь координат векторов в последовательных базисах. . . . . . . . . . |
34 |
1.2.6. Переход к новому опорному решению. . . . . . . . . . . . . . . . . . . . . . . . |
38 |
1.2.7. Переход к лучшему опорному решению и критерий |
|
оптимальности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
40 |
1.2.8. Признак неограниченности сверху целевой функции. . . . . . . . . . . . |
42 |
1.2.9. Определение коэффициентов разложения векторов по базису. . . . |
44 |
1.2.10. Алгоритм симплекс-метода для невырожденной задачи. . . . . . . . |
48 |
1.2.11. Симплекс-метод в общем случае. . . . . . . . . . . . . . . . . . . . . . . . . . . . |
53 |
1.2.12. Лексикографический симплекс-метод. . . . . . . . . . . . . . . . . . . . . . . . |
56 |
1.2.13. Метод вспомогательной задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
62 |
1.2.14. Метод M-задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
71 |
1.2.15. Роль оценок в задаче линейного программирования. . . . . . . . . . . . |
77 |
Контрольные вопросы и задачи к разделу 1.2. . . . . . . . . . . . . . . . . . . . . . . . . |
78 |
1.3. Теория двойственности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
80 |
1.3.1. Модели двойственных задач в линейном программировании. . . . . |
81 |
1.3.2. Связь двойственных задач. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
86 |
1.3.3. Получение решения двойственной задачи по результатам |
|
решения прямой задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
92 |
1.3.4. Экономическая интерпретация двойственности. . . . . . . . . . . . . . . . |
98 |
1.3.5. Основные понятия двойственного симплекс-метода. . . . . . . . . . . . . |
102 |
1.3.6. Обоснование двойственного симплекс-метода. . . . . . . . . . . . . . . . . |
104 |
1.3.7. Алгоритм двойственного симплекс-метода. . . . . . . . . . . . . . . . . . . . |
107 |
1.3.8. Определение исходного псевдоплана. . . . . . . . . . . . . . . . . . . . . . . . . |
110 |
Контрольные вопросы и задачи к разделу 1.3. . . . . . . . . . . . . . . . . . . . . . . . . |
118 |
1.4. Вопросы вычислительной эффективности в симплекс-методе. . . . . . . . |
120 |
1.4.1. Обоснование модифицированного симплекс-метода. . . . . . . . . . . . . |
120 |
1.4.2. Алгоритм модифицированного симплекс-метода. . . . . . . . . . . . . . . |
125 |
1.4.3. Мультипликативное представление обратной матрицы. . . . . . . . . . |
131 |
1.4.4. Блочное программирование. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
136 |
1.4.5. Метод декомпозиции Данцига-Вулфа: построение |
|
координирующей задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
139 |
1.4.6. Обоснование метода декомпозиции Данцига-Вулфа. . . . . . . . . . . . . |
146 |
1.4.7. Алгоритм метода декомпозиции Данцига-Вулфа. . . . . . . . . . . . . . . . |
151 |
1.4.8. Анализ чувствительности линейных моделей. . . . . . . . . . . . . . . . . . |
164 |
3
1.4.9. Общая схема параметрического анализа задач линейного |
|
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
167 |
1.4.10. Примеры анализа чувствительности коэффициентов целевой |
|
функции и правой части системы ограничений. . . . . . . . . . . . . . . . |
169 |
1.4.11. Проблемы накопления ошибок в симплекс-методе. . . . . . . . . . . . |
176 |
Контрольные вопросы и задачи к разделу 1.4. . . . . . . . . . . . . . . . . . . . . . . . . |
177 |
1.5. Дробно-линейное программирование. . . . . . . . . . . . . . . . . . . . . . . . . . . . |
179 |
1.5.1. Геометрическая интерпретация задачи дробно-линейного |
|
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
181 |
1.5.2. Сведение задачи ДЛП к задаче ЛП. . . . . . . . . . . . . . . . . . . . . . . . . . . |
185 |
1.5.3. Задача ДЛП со свободными членами в числителе и знаменателе. . |
188 |
Контрольные вопросы и задачи к разделу 1.5. . . . . . . . . . . . . . . . . . . . . . . . . |
190 |
1.6. Квадратичное программирование. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
191 |
1.6.1. Метод множителей Лагранжа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
191 |
1.6.2. Элементы теории выпуклого программирования. . . . . . . . . . . . . . . . |
194 |
1.6.3. Выпуклый анализ, условия Куна-Такера. . . . . . . . . . . . . . . . . . . . . . . |
197 |
1.6.4. Сведение задачи квадратичного программирования к задаче |
|
линейного программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
200 |
Контрольные вопросы и задачи к разделу 1.6. . . . . . . . . . . . . . . . . . . . . . . . . |
209 |
2. ДИСКРЕТНОЕ ПРОГРАММИРОВАНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . |
210 |
2.1. Некоторые виды задач дискретного программирования. . . . . . . . . . . . . |
211 |
2.1.1. Линейное целочисленное программирование. . . . . . . . . . . . . . . . . . . |
211 |
2.1.2. Сведение к задачам булева программирования задач линейного |
|
программирования с дискретными переменными. . . . . . . . . . . . . . . |
212 |
2.1.3. Сведение к задачам булева программирования некоторых |
|
нелинейных задач с дискретными переменными. . . . . . . . . . . . . . . . |
213 |
2.1.4. Задачи комбинаторного типа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
215 |
2.1.5. Примеры прикладных задач дискретного программирования. . . . . |
216 |
2.1.6. Методы решения дискретных задач. . . . . . . . . . . . . . . . . . . . . . . . . . . |
221 |
Контрольные вопросы и задачи к разделу 2.1. . . . . . . . . . . . . . . . . . . . . . . . . |
223 |
2.2. Транспортная задача . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
225 |
2.2.1. Постановка транспортной задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
225 |
2.2.2. Построение сбалансированной транспортной модели. . . . . . . . . . . . |
227 |
2.2.3. Сведение многопродуктовой транспортной задачи к |
|
однопродуктовой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
229 |
2.2.4. Свойства закрытой транспортной задачи. . . . . . . . . . . . . . . . . . . . . . |
230 |
2.2.5. Метод северо-западного угла. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
233 |
2.2.6. Метод наименьшей стоимости. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
234 |
2.2.7. Метод Фогеля. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
236 |
2.2.8. Метод плавающих зон. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
239 |
2.2.9. Использование второй теоремы двойственности для обоснования |
|
метода потенциалов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
243 |
2.2.10. Переход к новому опорному решению в методе потенциалов. . . . |
247 |
2.2.11. Выводы по методу потенциалов. . . . . . . . . . . . . . . . . . . . . . . . . . . . |
253 |
2.2.12. Распределительный метод решения транспортной задачи. . . . . . . |
257 |
2.2.13. Дополнительные ограничения в постановке транспортной задачи |
261 |
4
2.2.14. Транспортная модель с промежуточными пунктами. . . . . . . . . . . . |
264 |
Контрольные вопросы и задачи к разделу 2.2. . . . . . . . . . . . . . . . . . . . . . . . . |
267 |
2.3. Метод отсечения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
270 |
2.3.1. Основные понятия метода отсечения. . . . . . . . . . . . . . . . . . . . . . . . . |
270 |
2.3.2. Идея методов отсечения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
272 |
2.3.3. Правильное отсечение в алгоритме Гомори. . . . . . . . . . . . . . . . . . . . |
273 |
2.3.4. Первый алгоритм Гомори. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
276 |
2.3.5. Проблемы первого алгоритма Гомори. . . . . . . . . . . . . . . . . . . . . . . . . |
281 |
Контрольные вопросы и задачи к разделу 2.3. . . . . . . . . . . . . . . . . . . . . . . . . |
284 |
2.4. Метод ветвей и границ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
286 |
2.4.1. Принципы метода ветвей и границ. . . . . . . . . . . . . . . . . . . . . . . . . . . |
286 |
2.4.2. Общая схема метода ветвей и границ. . . . . . . . . . . . . . . . . . . . . . . . . |
288 |
2.4.3. Метод Лэнд и Дойг. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
291 |
2.4.4. Использование штрафов в методе Лэнд и Дойг. . . . . . . . . . . . . . . . . |
294 |
2.4.5. Метод ветвей и границ для задачи о коммивояжере. . . . . . . . . . . . . |
303 |
Контрольные вопросы и задачи к разделу 2.4. . . . . . . . . . . . . . . . . . . . . . . . . |
309 |
2.5. Приближенные методы решения дискретных задач. . . . . . . . . . . . . . . . |
310 |
2.5.1. Обзор приближенных методов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
310 |
2.5.2. Приближенный метод решения задачи целочисленного |
312 |
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
|
2.5.3. Метод локальной оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
315 |
Контрольные вопросы и задачи к разделу 2.5. . . . . . . . . . . . . . . . . . . . . . . . . |
319 |
2.6. Булево программирование. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
320 |
2.6.1. Дерево ветвления в задачах булева программирования. . . . . . . . |
321 |
2.6.2. Алгоритм плотного заполнения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
324 |
2.6.3. Метод Фора и Мальгранжа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
327 |
2.6.4. Аддитивный алгоритм. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
328 |
2.6.5. Моделирование логических высказываний в задачах булева |
|
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
334 |
2.6.6. Моделирование логических связей в задачах булева |
|
программирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
338 |
Контрольные вопросы и задачи к разделу 2.6. . . . . . . . . . . . . . . . . . . . . . . . . . |
342 |
2.7. Динамическое программирование. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
343 |
2.7.1.Общие принципы задач динамического программирования. . . . . . . |
343 |
2.7.2. Задача поиска кратчайшего маршрута в графе. . . . . . . . . . . . . . . . . . |
346 |
2.7.3. Прямой и обратный ход в задаче динамического программирова- |
|
ния. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
350 |
2.7.4. Задача о замене. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
352 |
2.7.5. Задача оптимального распределения капитальных вложений на |
|
реконструкцию группы предприятий. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
359 |
Контрольные вопросы и задачи к разделу 2.7. . . . . . . . . . . . . . . . . . . . . . . . . |
362 |
Ответы на задачи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
365 |
Список использованной литературы.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
373 |
Список рекомендованной литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
374 |
5
ВВЕДЕНИЕ
Вшироком круге научных, экономических и управленческих проблем в процессе анализа возникают разнородные задачи поиска оптимального значения той или иной величины при соблюдении некоторого набора требований к самой величине, либо другим факторам, находящимся в предметной области исследуемой проблемы. Большое распространение такие задачи получили, в частности, в области ядерной физики и энергетики, как в научных [1,4,6], так и
вэкономических [5,9] аспектах.
Всамом общем виде подобные задачи аналитически могут быть представлены в виде следующей системы:
0(x1,x2,...,xn) extr |
(1) |
i(x1,x2,...,xn)=0; i=1,2,...,m |
(2) |
(x1,x2,...,xn) G. |
(3) |
Здесь (x1,x2,...,xn) – вектор переменных – параметров управления; G – множество, элементы которого обладают определенными свойствами; 0(x1,x2,...,xn) – количественный показатель качества решения – целевая функция.
Область допустимых решений задается системой ограничений
(2)и множеством G (3).
Взадаче требуется из всех допустимых решений, т.е. решений, удовлетворяющих ограничениям (2) и (3), найти такое, которое обеспечивает экстремальное значение целевой функции – максимальное или минимальное, в зависимости от содержательной постановки задачи
Задача, сформулированная в виде (1)-(3), является задачей
математического программирования – раздела прикладной мате-
матики, в котором разрабатываются методы поиска условного экстремума функции многих переменных.
Важнейшей особенностью задачи, сформулированной в общем виде (1)-(3), является отсутствие общего, универсального метода ее решения, за исключением, разве что, полного перебора всех допустимых решений.
Следует отметить, что для задач даже небольшой размерности полный перебор является нереализуемой процедурой для современных супер-ЭВМ.
6
Поэтому, в зависимости от конкретного вида функцийi(x1,x2,...,xn)=0 (i=0,1,2,...,m) и от вида множества G, экстремальная задача (1)-(3) относится к тому или иному классу задач математического программирования. Для каждого такого класса в рамках соответствующего раздела математического программирования разрабатываются свои методы решения.
Так, если 0 и i ( i=1,2,...,m) – линейные функции параметров управления, т.е.
n |
n |
|
0= c j x j |
, i= aij x j ai |
, |
j 1 |
j 1 |
|
аG - положительный ортант ( xj 0, j=1,2,...,n ) или гиперпаралле-
лепипед (a j |
x j a j ; j |
|
) евклидова n-мерного пространства, |
1, n |
задача (1)-(3) является задачей линейного программирования.
Если G – некоторое подмножество точек евклидова n-мерного пространства, все или отдельные координаты которых принимают целочисленное значение, задача (1)-(3) является задачей целочис-
ленного программирования.
Важнейшим подклассом задач целочисленного программирования являются задачи булевого программирования, в которых переменные могут принимать только одно из двух значений – 0 или
1.
Если G – выпуклая область, а 0 и i ( i=1,2,...,m) – выпуклые функции параметров управления, задача (1)-(3) является зада-
чей выпуклого программирования.
Выпуклое программирование – основное направление нелинейного программирования. Особенность выпуклых задач – это совпадение глобального оптимума с локальным.
Невыпуклые (многоэкстремальные) задачи очень сложны и трудоемки. Конструктивных методов решения этих задач практически нет.
Если параметры задачи – недетерминированные величины, а именно это часто имеет место на практике, речь идет о задаче сто-
хастического программирования.
Наконец, если искомые параметры оптимального управления представляют собой функции (например, от времени или от номера этапа принятия решения), соответствующий класс задач называется задачами динамического программирования.
7
Приведенная классификация задач математического программирования является очень общей. В рамках перечисленных направлений существуют и более узкие разделы. Более того, на практике встречаются задачи, обладающие свойствами разных классов (например, нелинейные задачи, отдельные переменные которых – булевы).
1. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
1.1. Постановка прикладных задач в терминах линейного программирования
Термин линейное программирование впервые возник в 1951 г.
в работах американских математиков Дж. Данцига и Т. Купманса
[10].
Первые же исследования линейных моделей относятся к концу 30-х годов, когда ленинградский математик Л.В. Канторович сформулировал ряд линейных условно-экстремальных задач и разработал способ их решения, довольно близкий к симплекс-методу.
В1975 г. Канторовичу и Купмансу была присуждена Нобелевская премия. Уже одно это – признание роли оптимизационных моделей в науке и практике.
Внастоящее время линейные модели широко используются во всем мире в практике планирования и управления объектами самой различной природы.
Популярность линейного программирования связана не только с развитостью соответствующего математического аппарата, но
ис тем обстоятельством, что широкий класс реальных объектов управления достаточно хорошо и, что самое главное, эти объекты достаточно ясно описываются именно линейными моделями.
Для линейных моделей характерно свойство аддитивности и пропорциональности.
Пример 1.1
Аддитивность: продали 4 шила по 2 рубля и 5 кусков мыла по 4 рубля. Имеем доход 28=2*4+4*5.
Пропорциональность: на изготовление одного утюга идет 2 кг чугуна. Значит, на изготовление 4-х утюгов пойдет 8 кг чугуна.
8
Построение математических моделей на основании словесного описания задачи является сложноформализуемым процессом. Однако можно выделить следующие общие этапы:
1.Идентификация переменных;
2.Формализация цели – построение целевой функции в терминах переменных;
3.Формализация ограничений – построение соответствующих математических выражений в терминах переменных;
4.Спецификация переменных (определение множества G).
Пример 1.2
Атомная электростанция состоит из двух энергоблоков: Э1 и Э2. В силу конструктивных различий и разного уровня оснащения прибыль
(упрощенно будем считать – разницу между рыночной ценой и издержками на выработку), которую приносит продажа одного мегаватт-часа электричества, отличается в зависимости от энергоблока. Для производства электроэнергии используются три вида сырья – S1, S2 и S3.
Количественные характеристики :
Запас сырья вида S1 – 100000 ед.
|
Запас сырья вида S2 – |
70000 ед. |
|
|
|
|
|
|||||||
|
Запас сырья вида S3 – |
80000 ед. |
|
|
|
|
|
|||||||
Количество единиц сырья вида Si |
(i=1.2.3), необходимое для про- |
|||||||||||||
изводства одного мегаватт-часа на энергоблоке Эj (j=1,2) , а также при- |
||||||||||||||
быль от его реализации представлены в таблице: |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э1 |
|
|
|
|
Э2 |
|
||||
|
Сырье S1 |
|
|
2 |
|
|
|
|
6 |
|
|
|
||
|
Сырье S2 |
|
|
1 |
|
|
|
|
1 |
|
|
|
||
|
Сырье S3 |
|
|
2 |
|
|
|
|
2 |
|
|
|
||
|
Прибыль |
|
|
700 руб. |
|
|
1400 руб. |
|
||||||
|
x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Э2 |
|
|
|
|
|
||
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
S1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
10000 |
|
|
|
|
|
|
|
|||||
|
|
|
S2 |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70000 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
S3 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80000 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
Необходимо определить план выработки электроэнергии каждым энергоблоком на один месяц, чтобы обеспечить максимальную прибыль АЭС.
Математическая модель задачи:
700x1 1400x2 max |
|||||
|
2x |
6x |
|
|
100000 |
|
1 |
|
2 |
|
|
|
x1 x2 |
|
70000 |
||
|
|
||||
|
2x |
2x |
|
80000 |
|
|
1 |
|
|
2 |
0. |
|
|
x , x |
2 |
||
|
|
1 |
|
|
Решение:
Суммарная прибыль: 31.5 млн руб.
Выработка электроэнергии
Э1: 35000 МВтч Э2: 5000 МВтч
Затраты сырья
S1 : 100000 ед.
S2 : 40000 ед.
S3 : 80000 ед.
Пример 1.3
Условия примера 1.2 сохраняются, но предполагаем, что сырье можно продавать другим АЭС по ценам:
30 руб. – за единицу сырья вида S1;
40 руб. – за единицу сырья вида S2;
100 руб. – за единицу сырья вида S3.
Естественно, продажа сырья увеличивает прибыль электростан-
ции.
x1 |
Э1 |
|
|
Э2 |
|
x2 |
|
|
|
|
|
|
|
10000 |
|
|
|
x3 |
|
S1 |
|
|
||
|
|
|
|
|
|
|
x4 |
|
|
|
|
|
|
|
|
S2 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x5 |
70000 |
S3 |
||||
|
|
|
|
80000
Математиче-
ская модель задачи:
10