
- •Введение
- •Часть 1. Линейное программирование
- •1.1. Построение линейных экономико-математических моделей
- •Примеры задач
- •1.2. Формы записи задач линейного программирования
- •1.3. Свойства решений задач линейного программирования
- •1.4. Геометрический смысл и графический метод решения задач линейного программирования
- •1.5. Симплексный метод решения задач линейного программирования
- •1.6. Симплексный метод с искусственым базисом
- •1.7. Элементы теории двойственности
- •А. Симметричная двойственная пара
- •В. Несимметричная двойственная пара
- •1.8. Основные теоремы двойственности
- •1.9. Транспортная задача
- •Алгоритм метода потенциалов
- •1.10. Задача об оптимальных назначениях
- •Часть 2. Нелинейное программирование
- •2.1. Дробно-линейное программирование
- •2.1.1. Постановка задачи
- •Общую задачу дробно-линейного программирования (в дальнейшем длп) обычно записывают в виде:
- •2.1.2. Графическое решение задач длп
- •2.1.3. Симплекс-метод в длп
- •2.2. Общая задача нелинейного программирования. Классификация вычислительных методов
- •Условия (1) и (2), а также
- •По постановке задачи.
- •2. По характерным чертам алгоритмов.
- •2.3. Эффективные методы одномерной минимизации
- •2.4. Графический метод решения задач нелинейного программирования
- •2.5. Методы минимизации для задач без ограничений, использующие производные
- •2.6. Методы минимизации, не использующие производные
- •2.7. Методы решения задач нелинейного программирования с ограничениями
- •2.7.1. Методы линейной аппроксимации
- •2.7.2. Понятие о методах штрафных функций
- •Список использованной литературы:
- •Содержание
- •Часть 1. Линейное программирование 3
- •Часть 2. Нелинейное программирование 47
Часть 1. Линейное программирование
1.1. Построение линейных экономико-математических моделей
Построение математической модели для экономической или любой другой оптимизационной задачи состоит из следующих основных этапов:
-
Ввести необходимые по смыслу постоянные и переменные величины.
-
Четко определить целевую функцию.
-
Записать в виде уравнений и (или) неравенств все ограничения и соотношения, характеризующие данную задачу.
Примеры задач
А. Задача об оптимальном плане выпуска продукции
Пусть
предприятие выпускает n
видов продукции, используя для этого
m
видов ресурсов. Даны величины aij
– расход
i-го
ресурса на единицу j-го
вида продукции, которые обычно
записываются в виде матрицы А(m
x
n).
Ресурсы ограничены запасами:
.
Известна прибыль от реализации j-го
вида продукции:
.
Даны нижний
и верхний
– допустимые объемы выпуска j-го
вида продукции. Требуется найти план
выпуска каждого вида продукции,
максимизирующий суммарную прибыль
предприятия.
Вводим
независимые переменные:
– планируемые объемы выпуска каждого
вида продукции. Тогда математическая
модель приобретает следующий вид:
или в векторно–матричной форме:
Пример 1.1.1. На городской рынок ежедневно необходимо завезти не менее 16 т картофеля из трех хозяйств по цене, соответственно, 600, 700 и 650 грн. за тонну. Чтобы картофель был доставлен своевременно, необходимо в каждом хозяйстве на погрузку затратить не более чем 30 мин. Известно, что суточные запасы хозяйств составляют 12, 10 и 7 т, а на погрузку 1 т в каждом из них тратится 3, 5 и 4 мин. Определить, сколько картофеля надо завезти на рынок из каждого хозяйства, чтобы суммарная закупочная цена была минимальной.
Решение: Введем 3 независимые переменные: х1, х2, х3, где xj – количество тонн картофеля, планируемое к закупке в j-ом хозяйстве. Тогда целевая функция – суммарная закупочная цена примет вид:
.
Ограничения по запасам картофеля и времени на загрузку запишутся в виде:
Кроме
того, очевидны условия неотрицательности:
x1 0,
x2 0,
x3 0.
Понятно, что основные ограничения
можно упростить, оставляя самые «сильные»
неравенства:
.
Замечание: Несмотря на то, что в основной постановке задачи об оптимальном плане выпуска продукции шла речь о максимизации целевой функции, в данном примере мы хотим минимизировать Z, так как минимум затрат эквивалентен максимуму прибыли.
В. Задача о смесях
Данная задача возникает, когда требуется из имеющихся видов сырья получить смесь, удовлетворяющую заданным условиям, причем стоимость смеси должна быть минимальной.
Итак,
дано: n
видов сырья,
каждый из них содержит m
видов интересующих нас элементов
(веществ). Пусть aij
– количество
i-го
элемента в единице j-го
вида сырья, cj
– стоимость единицы j-го
вида сырья, dj
– запас j-го
вида сырья (j = 1,
... n).
Обозначим через
а’i
и a”i
соответственно наименьшее и наибольшее
допустимые количества i-го
элемента в смеси (i = 1,
… m).
Введем независимые переменные
(x1, x2, …, xn) =
– количество сырья j-го
вида, планируемое использовать для
составления смеси. Тогда соответствующая
математическая модель имеет вид:
Модель содержит всего 2m основных ограничений-неравенств и n двухсторонних ограничений на переменные.
Пример 1.1.2. Экономически выгодный откорм животных предполагает, что в их дневном рационе будет кормовых единиц не менее 100, белка – не менее 2 кг, кальция – не менее 300 г, фосфора – не менее 150 г. Рацион состоит из 3-х видов кормов: А, В, С. В таблице приведены данные о концентрации необходимых веществ в кормах, а также цены кормов.
Вид корма |
К-во кормовых единиц (кг) |
Концентрация веществ в кормах (г/кг): |
Цена корма (грн./кг) |
||
белок |
кальций |
фосфор |
|||
А |
0,9 |
80 |
1,4 |
3 |
0,5 |
В |
0,8 |
70 |
1,8 |
4 |
0,7 |
С |
0,6 |
90 |
1,2 |
6 |
0,4 |
Какое количество каждого вида корма следует закупить, чтобы суммарные затраты на откорм животных были минимальны?
Решение. Введем 3 независимые переменные: x1, x2, x3, где xj – количество кг каждого вида корма, планируемое для составления рациона. Тогда целевая функция (суммарная закупочная цена) примет вид:
Ограничения строятся из минимальных требований на дневной рацион и условий неотрицательности:
Понятно, что при записи ограничений данные приведены к единым единицам измерения (кг).
С. Задача о раскрое
Сущность задачи – определение такого плана раскроя, при котором заготовки выпускаются в заданном ассортименте, а отходы (по длине, площади или массе) сводятся к минимуму.
Дано: На складе имеются заготовки с показателем s (длина, площадь и т. п.). Их надо разрезать на части с показателями s1, s2, …, sm, причем требования на количество соответствующих частей заданы: b1, b2, …, bm. Надо составить план раскроя, минимизирующий суммарные отходы материала.
Пусть
известны n
технологий
раскроя. Обозначим через xj
количество заготовок, разрезаемых по
j-ой
технологии (j = 1, 2, …., n).
Известны также показатели отходов для
каждой технологии
и количества требуемых частей каждого
вида aij(i = 1, …, m,
j
= 1, …, n).
Соответствующая математическая модель:
;
Мы получили задачу линейного целочисленного программирования.
Пример 1.1.3. На фабрике имеются рулоны ткани длиной 15 м. В магазин надо поставить отрезы длиной 5 м в количестве 22 шт., длиной 4 м в количестве 30 шт. и длиной 3 м в количестве 20 шт. Составить оптимальный план раскроя ткани.
Решение. В задачах подобного типа требуется определенная подготовка данных. Именно, выпишем все возможные технологии раскроя и занесем полученные результаты в таблицу:
№ технологии |
Отрезов 5 м |
Отрезов 4 м |
Отрезов 3 м |
Отходы |
1 |
3 |
– |
– |
0 |
2 |
2 |
1 |
– |
1 |
3 |
2 |
– |
1 |
2 |
4 |
1 |
2 |
– |
2 |
5 |
1 |
– |
3 |
1 |
6 |
1 |
1 |
2 |
0 |
7 |
– |
3 |
1 |
0 |
8 |
– |
2 |
2 |
1 |
9 |
– |
– |
5 |
0 |
Понятно, что здесь мы рассматриваем самые «экономичные» в смысле минимума отходов технологии.
Введем независимые переменные: xj -количество рулонов, разрезаемых по j–ой технологии (j = 1, …, 9). Тогда целевая функция – суммарная величина отходов примет вид:
.
Ограничения составляются из условий выполнения плана по номенклатуре:
Требуется еще добавить условия неотрицательности и целочисленности:
xj ≥ 0, целые, j = 1, …, n.
D. Задача о назначениях
Имеются n работников (механизмов) и n работ, на которые надо назначить исполнителей так, чтобы каждый работник выполнял одну и только одну работу, причем при заданной производительности труда суммарный эффект был бы максимален. Пусть cij – производительность i-го работника при выполнении j-ой работы (i, j = 1, …, n). Введем переменные xij(i, j = 1, …, n) так:
.
Тогда соответствующая математическая модель имеет вид:
Соответствующий
набор {} =
– оптимальный план назначений. Здесь
мы имеем задачу линейного булевского
программирования. (Пример построения
и решения подобной задачи будет приведен
в разделе 1.10).
Е. Планирование с помощью производственной функции
Пусть выпуск продукции на предприятии зависит от нескольких производственных факторов: (x1, x2, …, xn) и зависимость такова:
,
где aj(j = 1, …, n) известны из эмпирических соображений. Пусть даны затраты cj, связанные с использованием единицы j-го фактора, и предельные суммарные затраты С. Требуется максимизировать объем выпуска. Имеем математическую модель:
,
Эквивалентная задача линейного программирования имеет вид:
где dj – затраты, связанные с ln xj (если их можно вычислить).