РГАТА Кафедра экономики
Э.А. Михайлова, А.О. Смирнов Методы нахождения оптимального управления экономическими системами...
17 downloads
235 Views
461KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
РГАТА Кафедра экономики
Э.А. Михайлова, А.О. Смирнов Методы нахождения оптимального управления экономическими системами Пособие для практических занятий по курсу «Теория оптимального управления экономическими системами» (для студентов специальностей «Информационные системы в экономике», «Экономика и управление на предприятиях машиностроения», для слушателей ФПК)
Утверждено на заседании кафедры экономики «_____» ______________199__г. Зав. кафедрой _______________ _______________ Денисов А.П.
Рыбинск 1998
3 ВВЕДЕНИЕ Теория оптимального управления - научная дисциплина, позволяющая найти наилучшее решение по заранее установленному критерию с учетом заданных ограничений. Наиболее точный и строго обоснованный оптимум позволяет получить метод Понтрягина. Но применение данного метода требует решения системы дифференциальных уравнений или использование вариационного исчисления, что сопряжено со значительными вычислительными трудностями и далеко не всегда позволяет автоматизировать процесс вычислений. Поэтому для практического нахождения оптимального управления экономическими системами разработаны специальные методы, упрощающие процесс вычислений, без существенной потери точности и ориентированные на использование вычислительной техники. В данном пособии рассмотрены наиболее широко используемые методы нахождения оптимального управления экономическими системами для процессов, представленных в виде одношаговых (детерминированных) и многошаговых (динамических) задач. В каждом разделе дан необходимый теоретический материал, рассмотрены примеры решения экономических задач и приведены задачи для самостоятельной работы.
1 Линейное программирование - метод решения одношаговых задач оптимального управления В практической деятельности организаций бизнеса наиболее часто приходится решать задачи, связанные с распределением ресурсов (труда, сырья, материалов, оборудования, денежных средств). Обычно размеры ресурсов ограничены, поэтому возникает необходимость оптимального использования имеющихся ресурсов для достижения определенной цели управления. Например, если компания выпускает несколько видов продукции с использованием одного и того же оборудования и трудовых ресурсов, то нужно решить, какое количество продукции каждого вида производить, чтобы получить наибольшую прибыль, или максимизировать время использования оборудования, или минимизировать затраты труда и т.д. Подобные задачи являются фактически одношаговыми задачами оптимального управления. В них обычно не рассматриваются методы реализации принятого решения, т.е. определяются не величина и характер управляющего воздействия U, а непосредственно значение переменной состояния системы Х, которое обеспечивает наилучшее достижение цели управления. Ограничимся рассмотрением только детерминированных задач. В этом случае целевая функция (кри-
4 терий качества управления) будет зависеть только от состояния объекта управления q = q(x1 ,x2 , ... xn), где x1 ,x2 ... xn - значение переменных состояния системы, n- количество состояний. Методы решения одношаговых детерминированных задач получили название математического программирования. Простейшим случаем является линейное программирование, когда целевая функция и ограничения представляют собой линейные функции от x1, ... xn. В задаче линейного программирования целевая функция n
q(x1, ... xn) = ∑ bj·xj
(1)
j =1
и система ограничений
n
∑ j =1
ai j · xj ≤ 0, i=1, ... m
(2)
представляют собой линейные функции от x1 , ... xn. Требуется найти неотрицательные значения переменных x1, ... xn, которые обращают в минимум (максимум) целевую функцию (1) и удовлетворяют системе ограничений (2) Для постановки задачи линейного программирования необходимо: 1) определить переменные, значения которых нужно получить; 2) установить цели и выразить целевую функцию через переменные; 3) определить ограничения на ресурсы и представить их через переменные. 1.1 Графический программирования
метод
решения
задач
линейного
Рассмотрим применение данного метода на конкретном примере. Пример 1 Компания производит два типа деталей для автомобилей X1 и X2. Для производства одной детали типа X1 требуется 1 чел.-ч, а для производства одной детали типа X2 - 2 чел.-ч. Компания располагает фондом рабочего времени 4000 чел.-ч. в неделю. Производственные мощности позволяют выпускать максимум 2250 деталей типа X1 и 1750 деталей типа X2 в неделю. Каждая деталь типа X1 требует 2 кг металлических стержней и 5 кг листового металла, а для производства одной детали типа X2 необходимо 5 кг металлических стержней и 2 кг лис-
5 тового железа. Запас каждого вида металла составляет 10000 кг в неделю. Кроме того, еженедельно завод поставляет 600 деталей типа X1 своему постоянному заказчику. Сколько деталей каждого типа следует производить, чтобы максимизировать общую прибыль за неделю, если прибыль от производства одной детали типа X1 составляет 30 усл. ед., а от производства детали типа Х2 - 40 усл. ед.? Решение: Сформулируем задачу линейного программирования. 1) Введем переменные X1 - количество деталей типа X1, которые нужно выпустить за неделю; X2 - количество деталей типа X2, которые нужно выпустить за неделю. 2) Целевая функция - прибыль, получаемая за неделю q=30x1+40x2 → max 3) Ограничения на производственный процесс. Требуемый фонд рабочего времени 1x1+2x2 ≤ 4000 Требуемая производственная мощность x1 ≤ 2250, x2 ≤ 1750 Требуемое количество металлических стержней 2x1 + 5x2 ≤ 10000 Требуемое количество листового металла 5x1 + 2x2 ≤ 10000 Постоянные заказы x1 ≥ 600 Условие неотрицательности x1 ≥ 0, x2 ≥ 0. В случае, когда используются две переменные, наиболее удобным методом является графический. Он основан на известных положениях о том, что линейное уравнение описывает множество точек, лежащих на одной прямой, а линейное неравенство - некоторую область на плоскости. Указанные ограничения представлены на рисунках. Штриховкой показаны допустимые области.
6
X2, тыс. шт. 5 ⎯ 4 ⎯ Фонд рабочего времени x1 + 2x2 = 4000
3 ⎯ 2 ⎯ 1 ⎯ 0
| 1
| 2
| 3
| 4
| 5
Рис. 1.1
X1, тыс. шт.
7
X2, тыс. шт. X1 = 2250
5 ⎯
Производственная
4 ⎯
мощность
3 ⎯ 2 ⎯ X2 = 1750
1 ⎯ 0
| 1
| 2
| 3
| 4
| 5
X1, тыс. шт.
Рис. 1.2
X2, тыс. шт. 5 ⎯
Металлические стержни
4 ⎯ 3 ⎯ 2 x1 + 5 x2 = 10000
2 ⎯ 1 ⎯ 0
| 1
| 2
| 3
| 4
| 5
Рис. 1.3
X1, тыс. шт.
8
X2, тыс. шт. Листовой металл 5 ⎯ 4 ⎯ 5 x1 + 2 x2 = 10000
3 ⎯ 2 ⎯ 1 ⎯ 0
| 1
| 2
| 3
| 4
| 5
X1, тыс. шт.
Рис. 1.4
X2, тыс. шт.
x1 = 600 5 ⎯ 4 ⎯
Постоянные заказы
3 ⎯ 2 ⎯ 1 ⎯ 0
| 1
| 2
| 3
| 4
| 5
Рис. 1.5
X1, тыс. шт.
9
X2, тыс. шт. 5 ⎯
Целевая функция
4 ⎯
g = 30 х1 + 40x2
3 ⎯ 2 ⎯ 1 ⎯ Прибыль 7000 0 | | 1 2
Прибыль 25000 | 3
| 4
| 5
X1, тыс. шт.
Рис. 1.6 На рис. 1.6 показана целевая функция для условных значений x1=1, x2=1, q=7000 и x1=3, x2=3, q=25000. Чем дальше целевая функция от 0, тем больше ее значение. Объединим все ограничения на рис. 1.7. X2, тыс. шт.
x1 = 600
x1 = 2250
5 ⎯ 4 ⎯
5x1+2х2=10000
3 ⎯ 2,75
2 ⎯
х2 = 1750
D A
1,25
x1+2x2=4000
1 ⎯ B 0
| 1
E | 1.5 2
| | 3 3,17 4
2х1+5х2=10000 | 5
X1,
10 тыс. шт. Рис. 1.7 В соответствии с рис. 1.7 максимальную прибыль можно получить при пересечении целевой функцией точки А, т.е. оптимальным будет выпуск 1500 деталей типа х1 и 1250 деталей типа х2. При этом прибыль равна q= 30× 150 + 40× 1250 = 95000 Очевидно, что при таком решении не все ресурсы используются полностью. Поэтому целесообразно более тщательно проанализировать возможности полного использования ресурсов и предусмотреть меры для их наилучшего применения. Это позволяет выполнить, так называемый, анализ чувствительности. 1.2 Анализ чувствительности задач линейного программирования Существуют три аспекта решения задач линейного программирования, которые необходимо тщательно изучать:
- воздействие дополнительного количества лимитирующего ресурса; - воздействие дополнительного количества нелимитирующих ресурсов; - воздействие изменений в коэффициентах целевой функции. Изучение данных аспектов особенно важно для управления экономическими системами, т.к. позволяет находить не только оптимальное решение для конкретных условий, но и прогнозировать дальнейшее развитие системы, определять оптимальное решение при изменении ресурсов. Проведем анализ чувствительности на основе примера 1. В соответствии с рис. 1.7 два ресурса - фонд рабочего времени и листовой металл - расходуются полностью. Эти ограничения называются лимитирующими. Однако для обоих типов деталей остается неиспользованной часть производственных мощностей и металлические стержни. Представим систему ограничений примера 1 в виде уравнений. Для этого в каждое ограничение введём дополнительную переменную Si. Принимая неотрицательность Si, т.е. Si ≥ 0, Si прибавляются к левым частям всех ограничений вида „ ≤ ” (остаточная переменная) и вычитаются из левых частей при знаке „ ≥ ” (избыточная переменная). Система уравнений имеет вид: x1 + 2x2 + S1 = 4000 x1 + S2 = 2250
11 x2 + S3 = 1750 2x1 + 5x2 + S4 = 10000 5x1 + 2x2 + S5 = 10000 x1 - S6 = 600 При найденных значениях x1 = 1500, x2 = 1250, S1 = 0 и S5 = 0 - это лимитирующие ограничения. Значения остаточных переменных следующие: S2 = 750, S3 = 500, S4 = 750 Избыточная переменная: S6 = 900 1.2.1 Воздействие дополнительного количества лимитирующего фактора Поскольку один или несколько ресурсов используются полностью, значение целевой функции ограничено. Если появляется дополнительное количество
12 лимитирующего ресурса, то оптимальное решение может быть улучшено. Однако необходимо принять во внимание, что изменение оптимального решения приведет к улучшению значения целевой функции только в том случае, если сумма дополнительных издержек по обеспечению дополнительным количеством ресурса не превышает сумму прибыли, полученной в результате его использования. С увеличением объема лимитирующего ресурса соответствующее ограничение становится менее жестким. Так как жесткость лимитирующего ограничения постепенно снижается, его график будет перемещаться параллельно своему начальному положению, одновременно будет происходить перемещение оптимальной крайней точки в направлении, которое улучшает значение целевой функции. Этот процесс будет продолжаться до тех пор, пока какой-либо другой ресурс не будет полностью использован и рассматриваемое ограничение перестанет быть лимитирующим. Величина, на которую увеличивается значение целевой функции при снижении жесткости лимитирующего ограничения на единицу, т.е. при увеличении количества лимитирующего ресурса на единицу, называется теневой ценой ресурса. Теневая цена ресурса - это стоимость единицы данного ресурса в оптимальном решении. Увеличение объема лимитирующего ресурса на единицу целесообразно только в том случае, если существует возможность его получения по стоимости, которая ниже, чем теневая цена данного ресурса. Из примера 1 следует, что лимитирующими являются ограничения на фонд рабочего времени и на листовой металл. Рассмотрим сначала последнее из указанных ограничений. Обратимся к графику, изображенному на рис. 1.7. Жесткость ограничения на листовой металл снижается по мере перемещения линии ограничения параллельно ее исходному положению в противоположном направлении от начала координат. Допустимое множество расширяется, а оптимальная крайняя точка перемещается вниз по линии ограничения на фонд рабочего времени, что увеличивает X1 и уменьшает X2. Снижение жесткости ограничения на листовой металл является эффективным до тех пор, пока линия ограничения не достигнет точки пересечения ограничений на фонд рабочего времени и производственные мощности для деталей типа X1, т.е. точки B. Если и далее снижать жесткость ограничения на листовой металл, оно перестает быть лимитирующим, что приведет к появлению остатка в виде неиспользованного листового металла. Новой оптимальной крайней точкой является теперь точка B. Координаты точки B можно определить, решив систему уравнений для ограничений на фонд рабочего времени и производственные мощности для детали X1. Фонд рабочего времени: x1 + 2x2 = 400 чел.-ч в неделю; производственные мощности для Х1: x1 = 2250 деталей в неделю.
13
Так как x1=2250, то, подставив его в первое уравнение, найдем значение x2: 2250 + 2x2 = 4000; следовательно, x2 = 875 деталей. Новым оптимальным ассортиментным набором является производство 2250 деталей типа X1 и 875 деталей типа X2 в неделю. Этот ассортиментный набор дает максимальный доход, равный 30×2250 + 40 × 875 = 102500 усл.ед. в неделю, таким образом, увеличение дохода составит: 102500 - 9500 = 7500 усл.ед. в неделю. Количество листового металла, используемое для производства данного ассортиментного набора, равно: 5× 2250 + 2× 875 = 13000 кг. Оно превышает начальное количество на 3000 кг в неделю. В новой оптимальной точке фонд рабочего времени и производственные мощности для деталей Х1 используются максимально. Дополнительное количество листового металла - 3000 кг - позволяет получать дополнительный доход, равный 7500 усл.ед. в неделю, следовательно, теневая цена данного ресурса составит: 7500 : 3000 = 2,50 усл.ед. за кг. Каждый дополнительный килограмм листового металла ведет к увеличению еженедельного дохода 2,50 усл.ед. Из этого следует, что сверхнормативный запас этого ресурса целесообразен только в случае, если стоимость получения любого дополнительного количества ресурса не превышает 2,50 усл.ед. за 1 кг ресурса. Предположив, что ограничение на листовой металл остается неизменным, применим аналогичную процедуру ко второму лимитирующему ограничению. Если жесткость ограничения на фонд рабочего времени снизилась на 1 единицу, т.е. появилась возможность использовать 1 чел.-ч рабочего времени дополнительно, то тогда данное ограничение принимает вид: x1 + 2x2 ≤ 4001. Данное ограничение параллельно первоначальному, но его линия находится дальше от начала координат по сравнению с исходной линией. Из приведенного выше графика легко видеть, что точка пересечения ограничения на листовой металл и нового ограничения на фонд рабочего времени все еще является оптимальной крайней точкой. В данном случае оптимальным решением яв-
14
ляется точка с координатами x = 1499,75 и y = 1250,625, что приводит и к значению целевой функции Pmax = 95017,50 усл.ед. Таким образом, значение целевой функции увеличилось на 17,50 усл.ед. Теневая цена фонда рабочего времени составляет 17,50 усл.ед. за 1 чел.-ч. Если можно получить один дополнительный час рабочего времени за дополнительные 17,50 усл.ед. или менее, то это необходимо использовать. Если же стоимость 1 чел.-ч превышает 17,50 усл.ед., то дополнительное количество рабочего времени использовать нецелесообразно. Какое количество дополнительного рабочего времени следует купить? Поскольку линия ограничения на фонд рабочего времени движется параллельно своему исходному положению в направлении от начала координат, она стремится к точке пересечения ограничений на листовой металл и металлические стержни к точке С. Если и далее снижать жесткость ограничения на фонд рабочего времени, то оно перестанет быть лимитирующим, и дальнейшее привлечение дополнительного рабочего времени нецелесообразно. Максимальное число дополнительных человеко-часов можно определить, решив систему ограничений, линии которых пересекаются в точке С: Листовой металл: Металлические стержни:
5x1 + 2x2 = 10000. 2x1 + 5x2 = 10000.
Её решением являются следующие значения переменных: x1 = 10000/7 и x2 = 10000/7 в неделю. Число используемых в точке С человеко-часов равно: x1 + x2 = 10000/7 + 2(10000/7) = 4285,7 чел.-ч в неделю. Это значение на 285,7 чел.-ч превосходит первоначальное максимальное значение 4000 чел.-ч. Получение максимального сверхнормативного запаса в 285,7 чел.-ч в неделю целесообразно при условии, что стоимость единицы дополнительного человеко-часа не превосходит 17,50 усл. ед. в неделю. Если сверхнормативное количество часов рабочего времени используется максимально, то новое максимальное значение еженедельного дохода составит: Pmax = 30× 10000/7 + 40× 10000/7 Дополнительная стоимость равна 10000 усл.ед. в неделю. Важно уяснить, что из дохода вычитаются только те издержки, которые не фигурируют в исходной постановке задачи. Предположим, например, что при производстве автомобильных деталей стоимость одного часа рабочего времени
15
равна 4,00 усл.ед. При расчете дохода, приходящегося на единицу деталей каждого типа, бухгалтер будет использовать именно эту стоимость. Если привлекается дополнительный фонд рабочего времени, к примеру, сверхурочная работа по 6,00 усл.ед. за 1 чел.-ч, то из них 4,00 усл.ед. уже учтены в показателях единичного дохода. Отдельно в счет нужно внести только дополнительные 2 усл.ед. за час. 1.2.2 Воздействие на оптимальное решение изменений в обеспечении нелимитирующими ресурсами В примере 1 рассматривались два лимитирующих ограничения на труд и листовой металл. Остальные ограничения в первоначальном оптимальном решении не являются лимитирующими. Это ограничения на : 1) производственные мощности для выпуска деталей типа Х1; 2) производственные мощности для выпуска деталей типа Х2; 3) металлические стержни; 4) постоянные заказы. Что происходит при изменении каждого из этих ограничений? Первые три ресурса используются в меньших или равных максимальному количествах. Любое увеличение запаса этих ресурсов не будет оказывать влияния на оптимальное решение задачи. Однако на него может влиять уменьшение запасов, соответствующих трем указанным ограничениям. Увеличение жесткости одного из нелимитирующих ограничений приведет к перемещению его линии в сторону начала координат. Сначала единственным изменением будет сокращение размеров допустимого множества. Однако когда линия ограничения переместится ниже исходной оптимальной крайней точки, данное ограничение станет лимитирующим, что приведет к появлению нового оптимального решения. Предельные значения для этих ограничений ниже максимального уровня. Так, производственные мощности для деталей типа X1 можно сократить с 2250 до 1500 ч, т.е. на 750 ч, прежде чем это ограничение начнет оказывать воздействие на решение задачи. Производственные мощности для деталей типа X2 могут быть сокращены с 1750 до 1250 ч, т.е. на 500 ч. Запас металлических стержней можно уменьшить с 10000 до 9250 кг, т.е. на 750 кг в неделю. Количественные выражения этих сокращений есть ни что иное, как значения остаточных переменных. С ограничениями, для которых количество ресурсов больше либо равно минимальному, все наоборот. Любое сокращение минимального количества ресурсов приведет к увеличению размеров допустимого множества, не окажет воздействия на оптимальное решение.
16
Любое увеличение правой части этих ограничений сначала приведет к сокращению размеров допустимого множества, а затем повлияет и на оптимальное решение. Если постоянные заказы на детали типа X1 возрастут на 900 и достигнут 1500 деталей в неделю, оптимальное решение начнет изменяться. 1.2.3 Воздействие на оптимальное решение изменений в коэффициентах целевой функции Условия, для которых составлялась задача линейного программирования, неизбежно изменяются. Чаще всего эти изменения предполагают повторное выполнение формализации задачи, но должна существовать возможность идентифицировать воздействие незначительных изменений на решение исходной задачи. Рассмотрим изменения коэффициентов целевой функции. Если цель состоит в максимизации еженедельного дохода, то изменение стоимости сырья приведет к изменению значений коэффициентов целевой функции. Известно, что доход от выпуска единицы деталей типа X1 может меняться. Каков промежуток значений единичного дохода, для которых а остается оптимальной крайней точкой? Единичный доход от выпуска деталей типа Х2 остается неизменным. Решение: Перепишем уравнение дохода за неделю в следующем виде: P = ax1 + 40х2, где а - единичный доход от выпуска деталей типа Х1. Преобразовав это уравнение, получим x2 = P/40 - (a/40)x1. Тангенс угла наклона линии дохода за неделю равен - (а/40). В исходном положении при а = 30 усл.ед. за единицу тангенс угла наклона равен (30/40) = - (3/4).
17 Если а меньше 30 усл.ед. за единицу, то наклон линии еженедельного дохода становится более пологим. В точке А линия уровня будет отклоняться в сторону лимитирующего ограничения на фонд рабочего времени. Это ведет к уменьшению оптимального значения функции Р, дохода за неделю. Обратите внимание на рис. 1.7. Если сильно уменьшать значение параметра а, то линия уровня еженедельного дохода совпадет с ограничением на фонд рабочего времени. Следовательно, граничным является положение линии уровня дохода, при котором она совпадает с линией лимитирующего ограничения на фонд рабочего времени. Этому положению соответствует наименьшее значение а, для которого А является оптимальной крайней точкой. Угол наклона линии ограничения на фонд рабочего времени можно найти, преобразовав данное ограничение к виду: x2 = 4000/2 - 1/2х1. Тангенс угла наклона лимитирующего ограничения равен - (1/2). Нижний предел значений находится из условия - (а /40) = - (1/2), таким образом, а = 20 усл.ед. за единицу. Следовательно, единичный доход от выпуска деталей типа X1 может уменьшаться до 20 усл.ед. до того, как оптимум переместится из точки А в точку D. Причем, оптимальный доход будет сокращаться, но оптимальный ассортиментный набор не изменится до тех пор, пока значение параметра а не опустится ниже 20 усл.ед. Аналогичным образом можно найти верхний предел значений а. С увеличением значения а линия еженедельного дохода становится все менее пологой и в конечном итоге окажется параллельной линии другого лимитирующего ограничения, а именно на листовой металл. Любое дальнейшее увеличение значения а вызовет изменение оптимальной крайней точки и перемещение ее в точку Е. Это показано на рис. 1.7. Граничное положение линии уровня еженедельного дохода достигается в момент ее совпадения с ограничением на листовой металл. Этому положению соответствует верхний предел значений параметра а, для которых точка А является оптимальной крайней точкой допустимого множества. Угол наклона ограничения на листовой металл можно найти, преобразовав это уравнение к виду: x2 = 10000/2 - (5/2)х1. Тангенс угла наклона лимитирующего ограничения равен - (5/2), а верхний предел параметра а находится из условия -( а /40) = -(5/2), следовательно, а = 100 усл.ед. за единицу. Таким образом, до того как оптимальный ассортиментный набор переместится из точки А в точку Е, единичный доход от выпуска деталей типа X1 может возрасти до 100 усл.ед.
18 Два соответствующих предела значения единичного дохода от выпуска деталей типа X2 можно найти аналогичным образом, если в изложенной схеме расчетов заменить x1 на x2. Предположим, что значение коэффициента целевой функции при х1 является неизменным, тогда: P = 30х1 + bх2 и x1 = P/30 - (b/30)х2.
По мере увеличения или уменьшения параметра b граничные положения линии уровня еженедельного дохода определяются теми же двумя ограничениями, что и в предыдущем случае. Теперь необходимо записать уравнения этих ограничений так, чтобы х1 выступал в качестве зависимой переменной: Фонд рабочего времени: х1 = 4000 - 2х2. Тангенс угла наклона равен - 2, следовательно, предельное значение достигается при условии - (b/30) = -2, т.е. b = 60 усл.ед. за единицу. Листовой металл: х1 = 10000/5 - (2/5)х2. Тангенс угла наклона равен - (2/5), для предельного значения выполняется условие : - (b/30) = - (2/5), следовательно, b = 12 усл.ед. за единицу. Крайняя точка А соответствует оптимальному ассортиментному набору только до тех пор, пока доход от выпуска деталей типа X2 изменяется в пределах от 12 до 60 усл.ед. за единицу. В случае, если показатели единичных доходов от выпуска деталей типа Х1 или Х2 будут изменяться по сравнению с их исходными значениями, значение оптимального дохода также будет отличным от 95000 усл.ед. ЗАДАЧИ
19 1. Небольшая семейная фирма производит два широко популярных безалкогольных напитка - «Pink Fizz» и «Mint Pop». Фирма может продать всю продукцию, которая будет произведена, однако объем производства ограничен количеством основного ингредиента и производственной мощностью имеющегося оборудования. Для производства 1 л «Pink Fizz» требуется 0,02 ч работы оборудования, а для производства 1 л «Mint Pop» - 0,04 ч. Расход специального ингредиента составляет 0,01 кг и 0,04 кг на 1 л «Pink Fizz» и «Mint Pop» соответственно. Ежедневно в распоряжении фирмы имеется 24 часа времени работы оборудования и 16 кг специального ингредиента. Доход фирмы составляет 0,10 усл.ед. за 1л «Pink Fizz» и 0,30 усл.ед. за 1 л «Mint Pop». Сколько продукции каждого вида следует производить ежедневно, если цель фирмы состоит в максимизации ежедневного дохода? 2. Фирма «Лесная пилорама» столкнулась с проблемой наиболее рационального использования ресурсов лесоматериалов, имеющихся в одном из принадлежащих этой фирме лесных массивов. В районе данного массива имеется лесопильный завод и фабрика, на которой изготавливают фанеру. Таким образом, лесоматериалы можно использовать как для производства пиломатериалов, так и для изготовления фанеры. Чтобы получить 2,5 куб.м коммерчески реализуемых комплектов пиломатериалов, необходимо израсходовать 2,5 куб.м еловых и 7,5 куб.м пихтовых лесоматериалов. Для приготовления 100 кв.м фанеры требуется 5 куб.м еловых и 10 куб.м пихтовых материалов. Лесной массив содержит 80 куб.м еловых и 180 куб.м пихтовых лесоматериалов. Согласно условиям поставок, в течение планируемого периода необходимо произвести по крайней мере 10 куб.м пиломатериалов и 1200 кв.м фанеры. Доход с 1 куб.м пиломатериалов составляет 16 усл. ед., а со 100 кв.м фанеры - 60 усл. ед. 3. Фирме «Иерихонская сталь» предстоит решить: какое количество x1 чистой стали и какое количество x2 металлолома следует использовать для приготовления ( из соответствующего сплава) литья для одного из своих заказчиков. Пусть производственные затраты в расчете на 1 т чистой стали равняются 3 усл.ед., а затраты в расчете на 1 т металлолома - 5 усл.ед. (последняя цифра больше предыдущей, так как использование металлолома сопряжено с его предварительной очисткой). Заказ предусматривает поставку не менее 5 т литья; при этом заказчик готов купить и большее количество литья, если фирма «Иерихонская сталь» поставит перед ними такие условия.
20 Предположим, что запасы чистой стали ограничены и не превышают 4т, а запасы металлолома не превышают 6 т. Отношение веса металлолома к весу чистой стали в процессе получения сплава не должно превышать 7 : 8. Производственно-технологические условия таковы, что на процессы плавки и литья не может быть отведено более 18 ч; при этом на 1 т стали уходит 3 ч, а на 1 т металлолома - 2 ч производственного времени. 4. Управляющий фирмы «Свежие нефтепродукты» пытается определить оптимальное распределение имеющейся в его распоряжении сырой нефти (различного сорта) по двум возможным технологическим процессам составления смесей. Технологический процесс характеризуется следующими показателями: из одной единицы объема сырой нефти А и трех единиц объема сырой нефти В получается пять единиц объема бензина X и две единицы объема бензина Y. Технологический процесс 2 характеризуется другими показателями: из четырех единиц объема сырой нефти A и из двух единиц объёма сырой нефти B получается три единицы бензина X и восемь единиц бензина Y. Объемы продукции, выпускаемой при реализации технологических процессов 1 и 2, обозначим соответственно через х1 и х2.
Максимальное количество запасов сырой нефти A равняется 100 единицам объема, а сырой нефти B - 150 единиц объема. По условиям поставок требуется произвести не менее 200 единиц объема бензина X и 75 единиц объема бензина Y. Доходы с единицы объема продукции, получаемой с помощью технологических процессов 1 и 2 , составляют p1 и p2 соответственно. 1. 3 Симплекс - метод программирования
решения
задач
линейного
21 Если задача линейного программирования содержит более двух переменных, то ее решение графическим способом трудно выполнимо, т.к. требуется построение в пространстве. Для этого разработан специальный алгебраический метод, в основе которого лежит следующий принцип. Предполагается, что оптимальному решению соответствует одна из крайних точек допустимого множества. Следовательно, необходимо провести оценку значений целевой функции во всех крайних точках допустимого множества и выбрать ту из них, в которой достигается оптимальное значение целевой функции. Переход от одной крайней точки допустимого множества к другой осуществляется только, если значение целевой функции при этом улучшается. Если оказывается, что некоторое базисное решение улучшить уже нельзя, то оно является оптимальным планом задачи. Этот алгоритм получил название симплекс-метода. Вычислительная процедура выглядит следующим образом: Шаг 1: Выберем m переменных, задающих допустимое пробное решение. Исключим эти переменные из выражения для целевой функции. Шаг 2: Проверим, нельзя ли за счет одной из переменных, приравненной вначале к нулю, улучшить значение целевой функции, придавая ей отличные от 0 (причем положительные) значения. Если это возможно, перейдем к шагу 3. Иначе прекратим вычисления. Шаг 3: Найдем предельное значение переменной, за счет которой можно улучшить значение целевой функции. Увеличение значения этой переменной допустимо до тех пор, пока одна из m переменных, вошедших в пробное решение, не обратится в 0. Исключим из выражения для целевой функции только что упомянутую переменную и введем в пробное решение ту переменную, за счет которой результат может быть улучшен. Шаг 4: Решим систему m уравнений относительно переменных, вошедших в новое пробное решение. Исключим эти переменные из выражения для целевой функции. Вернемся к шагу 2.
Этот алгоритм приводит к оптимальному решению для любой модели линейного программирования за конечное число итераций. Рассмотрим следующую задачу. Фирма «Мультиконвейер» имеет возможность реализовать от одного до четырех различных типов технологических процессов. Технологические процессы первого и второго типов ориентированы на получение продукции А, а технологические процессы третьего и четвертого типов - на получение продукции B. Расходы, связанные с каждым из технологических процессов, приведены в табл.1.1.
22 Таблица 1.1 На единицу продукции А технологич. технологич. процесс 1 процесс 2 Трудозатраты, человеко- недель Количество материала Y, кг Количество материала Z, кг Доход с единицы продукции, усл.ед.
На единицу продукции В технологич. технологич.процес процесс 3 с4
Имеется в наличии (всего)
1
1
1
1
7
5
3
2
≤
120
3
5
10
15
≤
100
4
5
9
11
≤
15
Перед руководством фирмы стоит задача: определить количество продукции, выпускаемой с помощью каждого технологического процесса, чтобы доход был максимален. Пусть x1 , x2 , x3 , x4 - объем продукции, производимой с помощью соответственно 1, 2, 3, 4 технологических процессов. Целевая функция 4x1 + 5x2 + 9x3 + 11x4 → max
Ограничения: x1 + x2 + x3 + x4 ≤ 15 7x1 + 5x2 + 3x3 + 2x4 ≤ 120 3x1 + 5x2 + 10x3 + 15x4 ≤ 100 х1 ≥ 0, х2 ≥ 0, х3 ≥ 0, х4 ≥ 0
23 Обозначим через Xо значение целевой функции и введем в рассмотрение свободные переменные X 5 , X6 , X 7. В результате получим следующую систему уравнений: Xо - 4X1 - 5X2 - 9X 3 - 11X 4 = 0 X1 + X2 + X 3 + X 4 + X 5 = 15 7X1 + 5X2 + 3X 3 + 2X 4 + X 6 = 120 3X1 + 5X2 +10X 3 +15X 4 + X 7 = 100
(1)
строка 0 1 2 3
Итерация1 Задача шага 1 заключается в том, чтобы выбрать первоначальное допустимое решение системы уравнений (1). Существует множество таких решений, однако удобнее всего начать с X0 = 0, X5 =15, X6 = 120, X7 = 100 при нулевых значениях остальных переменных. То есть строится первое пробное решение с помощью только свободных переменных. Это решение называют исходным базисным решением (или исходным опорным планом), а переменные Х0, Х5, Х6, Х7 - базисные переменные (базис), остальные переменные - небазисные. Значение базисных переменных записывается в симплекс-таблицу (табл. 1.2). Если под X0 понимать прибыль, то только что предложенное пробное решение является не очень выгодным, но его, несомненно, можно улучшить. Обратим внимание на коэффициент переменных в строке 0, которые не являются базисными. В строке 0 каждый отрицательный коэффициент определяет величину положительного приращения Х0 при увеличении значения соответствующей переменной на 1. Таким образом: каждый коэффициент в строке 0 определяет положительное (если перед ним стоит «-») или отрицательное (если «+») приращение Х0 при увеличении на единицу соответствующей небазисной переменной. Шаг 2 устанавливает правило, позволяющее определить, какие переменные должны войти в очередной пробный базис. Симплекс-критерий 1 (выбор разрешающего столбца): если в строке 0 имеются небазисные переменные, коэффициенты при которых отрицательны, следует выбрать переменную (Xj) с наибольшим абсолютным значением стоящего перед ней коэффициента. То есть, ту переменную, которая обеспечивает наибольшее удельное приращение значения целевой функции. В случае, когда все небазисные переменные строки 0 имеют положительные или нулевые коэффициенты, оптимальное решение можно считать полученным.
24 В соответствии с критерием 1 в базис следует ввести переменную Х4. Чем больше значение Х4, тем сильнее возрастает значение Х0. Однако нужно помнить об ограничениях. Увеличение значения Х4 возможно лишь за счет уменьшения значений базисных переменных в каждой строке, содержащей Х4 с положительным коэффициентом. Например: в строке 1 Х5 должно быть меньше на 1, чтобы удовлетворялось ограничение: в строке 2 X6 должно быть меньше на 2, в строке 3 X7 должно быть меньше на 15. Сколь велико должно быть значение Х4, чтобы значение одной из выбранных вначале базисных переменных достигло своей нижней границы, т.е. нуля? Легко проверить, что такой предел для Х4 равняется
100 , при этом Х7 15
= 0. Следовательно, в базис нужно включить Х4, исключив из него Х7. Отсюда сформулируем следующее правило: Симплекс-критерий 2 (выбор разрешающей строки): а) рассмотрим отношения чисел, стоящих в правых частях (1), к соответствующим коэффициентам при новой базисной переменной Хj; б) выберем отношение с наименьшим значением - в очередном пробном решении Xj приравнивается именно к этому значению. Пусть наименьшее из всех отношений правых частей (1) к соответствующим коэффициентам при Xj, соответствует переменной Xk, входившей в предыдущее решение; тогда в очередном пробном решении следует положить Xk = 0. Перепишем соотношение (1) таким образом, чтобы в строке 3, коэффициент при Х4 был равен 1, а в строках 0, 1, 2 - нулю. Процедуру, с помощью которой это достигается, называют операцией замены базиса (или замены опорного плана):
1X0 - 4X1 - 5X2 - 9X3 - 11X4 X1 + X2 + X3 + X4 + 7X1 + 5X2 + 3X3 + 2X4 +
=0 X5 = 15 X6 = 120
1 1 2 1 20 X1 + X2 + X3 + X4 + X7 = 5 3 3 15 3
(0) (1) (2) (3)
25 строка 3 × 11 + строка 0 строка 3 × (-1) + строка 1 строка 3 × (-2) + строка 2; получим: 9 X1 5 4 X1 + 5 33 X1 + 5 1 X1 + 5
X0 -
4 5 X2 X3 3 3 2 1 X2 + X3 + X5 3 3 13 5 X2 + X3 + X6 3 3 1 2 X2 + X3 + X4 3 3
11 220 X7 = 15 3 1 25 X7 = 15 3 2 320 X7 = 15 3 1 20 + X7 = 15 3
+
(0) (1) (2) (3)
Итерация 2 Завершив первую итерацию, следует вернуться к шагу 2, с тем, чтобы определить, является ли полученное решение оптимальным. Согласно критерию 1 возможность улучшить решение существует. Выбирается переменная X1, так как она обеспечивает наибольшее удельное приращение для значения целевой функции. При очередном пробном решении в соответствии с критерием 2 следует заменить X5 на X1. И соответствующим образом преобразовать систему уравнений: 9 + строка 0 5 33 строка1×(- )+ строка 2 5 1 строка1×( - )+строка 3 5
строка1×
Результаты вычислений представлены в таблице 1.2. Следует отметить, что в результате включения в базис X1 произошло снижение «значимости» X2.
Итерация 3 Решение может быть улучшено за счет Х3.
26 Из числа базисных следует исключить X4, вошедшую в решение. В процессе применения симплекс-метода, случаи, когда та или иная переменная при некоторой итерации входит в пробное решение, а затем исключается из него при одной из последующих итераций, возникают нередко. Именно это обстоятельство мешает заранее определить максимальное число симплекс-итераций, которое приводило бы к решению любой задачи линейного программирования. Исключим X3 из строк 1, 1, 2. 11 + строка 0. 12 5 Строка 3 × (- ) + строка 1. 12 13 + строка 2. Строка 3 × 12
Строка 3 ×
Итерация 4 В строке 0 системы уравнений все коэффициенты положительны, и, следовательно, полученное решение является оптимальным X0 = 695/7 ,
Х1 = 50/7 , Х6 = 325/7 ,
Х3 = 55/7.
Табличное представление (Симплекс - таблица)
Таблица 1.2
27
Ите рация
1
Б а з и с X0 X5 X6 X7 Х0
X6
0 15 120 100 220 3 25 3 320/3
X4
20/3
X0 X1 X6 X4
1105/1 2 125/12 455/12 55/12
X0 X1 X6 X3
695/7 50/7 325/7 55/7
X5
2
3
4
Пробные значения
Строки Х1
Х2
Х3
Х4
-4 1 7 3 -9/5
-5 1 5 5 -4/3
-9 1 3 10 -5/3
-11 1 2 15
4/5
2/3
1/3
33/5
13/3
5/3
1/5
1/3
2/3
1/6 5/6 -7/6 1/6
11/12 5/12 13/12 7/12
1
3/7 5/7 -6/7 2/7
1
Х5
Х6
Х7
1
0 1 2 1 3 11/5 0
1
1 1 1 9/4 5/4 -33/4 1 11/7 -5/7 13/7 12/7
1
1
13/7 10/7 -61/7 -3/7
1
-1/15
2
-2/15
2
1/15
3
7/12 -1/12 5/12 1/12
0 1 2 3
5/7 -1/7 4/7 1/7
0 1 2 3
Геометрически решение симплекс-методом заключается в последовательном восхождении вдоль ребер многогранника, соответствующего области допустимых решений, от одной его вершины к соседней. После преобразования строки 0 в целевую функцию имеем
Х0 =
695 7
-
3 Х 7 2
-
11 Х 7 4
-
13 Х 7 5
-
5 Х 7 7
При любом отличном от нуля значении хотя бы одной из небазисных переменных Х2, Х4, Х5, Х7 - целевая функция принимает значение меньше 695/7.
28
ЗАДАЧИ 1. Завод по производству электронного оборудования выпускает персональные компьютеры и системы подготовки текстов. В настоящее время освоены четыре модели:
а) «Юпитер» - объем памяти 512 Кбайт, одинарный дисковод; б) «Венера» - объем памяти 512 Кбайт, двойной дисковод; в) «Марс» - объем памяти 640 Кбайт, двойной дисковод; г) «Сатурн» - объем памяти 640 Кбайт, жесткий диск. В производственный процесс вовлечены три цеха завода - цех узловой сборки, сборочный и испытательный. Распределение времени, требуемого для обработки каждой модели в каждом цехе, а также максимальные производственные мощности цехов приведены в таблице. Отдел исследований рынка производит периодическую оценку потребительского спроса на каждую модель. Максимальные прогнозные значения спроса и доходы от реализации единицы продукции каждой модели также содержатся в таблице.
Таблица 1.3 Время, требуемое на обработку каждой модели в каждом цехе Время на единицу продукции, ч
Максимальная
29 Цех Узловой сборки Сборочный Испытательный Максимальное прогнозное значение спроса за месяц Доход, усл.ед.
_________________________________ «Юпитер» «Венера» «Марс» «Сатурн» 5 8 20 25 2 3 8 14 0,1 0,2 2 4
100
45
25
20
15
30
120
130
производств. Мощность, ч / мес. 800 420 150
2. Менеджер по ценным бумагам намерен разместить 100000 усл.ед. капитала таким образом, чтобы получать максимальные годовые проценты с дохода. Его выбор ограничен четырьмя возможными объектами инвестиций: А, В, С, и D. Объект А позволяет получать 6% годовых, объект В - 8% годовых, объект С - 10%, а объект D - 9% годовых. Для всех четырех объектов степень риска и условия размещения капитала различны. Чтобы не подвергать риску имеющийся капитал, менеджер принял решение, что не менее половины инвестиций необходимо вложить в объекты А и В. Чтобы обеспечить ликвидность, не менее 25% общей суммы капитала нужно поместить в объект D. Учитывая возможные изме-нения в политике правительства, предусматривается, что в объект С следует вкладывать не более 20% инвестиций, тогда как особенности налоговой политики требуют, чтобы в объект А было вложено не менее 30% капитала. Сформулировать для изложенной проблемы распределения инвестиций модель линейного программирования и решить задачу.
3. Предприятие может выпускать четыре вида продукции - П-1, П-2, П-3, П-4 без ограничения на количественный выпуск этой продукции. Для изготовления этой продукции предприятие располагает в течение месяца следующими ресурсами: трудовыми ресурсами в количестве 16 чел.-нед.; полуфабрикатами массой 110 кг; станочным оборудованием в объеме 100 станко-смен. Для изготовления 1 шт. продукции П-1, П-2, П-3, П-4 требуется 1 чел.-нед. для каждого вида продукции, соответственно полуфабрикатов 6; 5; 4; 3 кг и станочного оборудования 4; 6; 10; 13 станко-смен. Цена 1 шт. каждого вида продукции равна соответственно 60; 70; 120 и 130 руб. Требуется составить такой план выпуска, чтобы получаемый доход был максимальным. Условия приведенной задачи сведены в таблице.
30
Таблица 1.4 Продукция ___________________________
Ресурс
Объем ресурса
Трудовые ресурсы, чел.-нед.
П-1 1
П-2 1
П-3 1
П-4 1
16
Полуфабрикаты, кг
6
5
4
3
110
Станочное оборудование, станко-смены
4
6
10
13
100
Цена 1 шт..
60
70
120
130
План выпуска
Х1
Х2
Х3
Х4
2. Динамическое программирование - метод многошаговых оптимизационных задач
решения
2.1 Постановка задачи динамического программирования В управлении экономическими системами часто приходится иметь дело с динамическими процессами, т.е. объект управления находится в состоянии непрерывного движения под воздействием различных внешних и внутренних факторов. Решение подобных задач в общем виде определяется системой дифференциальных уравнений, что довольно сложно. Упростить процесс нахождения оптимального управления позволяет метод динамического программирования. Сущность его заключается в разбиении всего процесса управления на отдельные шаги (этапы), на каждом из которых решается оптимизационная задача меньшей размерности. Критерий качества управления (целевая функция) многошагового процесса представляет собой полные потери за все n шагов процесса n −1
J n (U) =
∑ Q( Xk ,Uk ), k=0
31 где Xk - состояние объекта управления на k-м шаге, Uk - управляющее воздействие на k- шаге, Q - функция потерь, n - количество шагов. Метод динамического программирования представляет собой следующую последовательность действий: 1) управляемые переменные и соответствующие ограничения группируются по шагам, и многошаговый процесс принятия решений исследуется в определенной последовательности; 2) любую многошаговую задачу можно решать двумя способами: либо искать сразу все элементы решения на всех m шагах, либо строить оптимальное управление шаг за шагом, на каждом этапе оптимизируя только один шаг. Второй способ оказывается проще первого, особенно при большом числе шагов. 3) планируя многошаговую операцию, надо выбирать управление на каждом шаге с учетом всех его будущих последствий на еще предстоящих шагах. Управление на i-м шаге выбирается так, чтобы была максимальна сумма выигрышей на всех оставшихся до конца шагах плюс данный. 4) среди всех шагов есть один, который может планироваться без учета будущего. Это последний шаг. Поэтому процесс динамического программирования разворачивается с конца к началу: прежде всего планируется последний n - шаг. Планируя последний шаг, нужно сделать разные предположения о том, чем закончился предпоследний (n-1) - шаг, и для каждого из этих предположений найти условное оптимальное управление на n-шаге. Затем можно оптимизировать управление на предпоследнем шаге (n-1). Сделаем предположения о том, чем закончился предыдущий (n-2) шаг, и для каждого из этих предположений найдем такое управление на (n-1) шаге, при котором выигрыш за последние два шага максимален! Так мы найдем для каждого исхода (n-2) шага условное оптимальное управление на (n-1) шаге и условный оптимальный выигрыш за последние два шага и т.д., пока не дойдем до первого шага. Теперь можно построить оптимальное управление u и найти оптимальный выигрыш Qn. Действительно: мы знаем в каком состоянии была управляемая система Х 0. Следовательно, можно выбрать оптимальное управление на первом шаге U1. В результате этого управления состояние системы изменилось на некоторое новое X1. Здесь тоже известно условное оптимальное управление U2, которое к концу второго шага переводит систему в состояние X2 и т.д.
32 при:
Метод
динамического
программирования
используется
- разработке правил управления запасами, устанавливающих момент пополнения запасов и размер заказа; - календарном планировании производства и выравнивании занятости при колеблющемся спросе на продукцию; - распределении капиталовложений между возможными направлениями их использования; - выборе метода проведения рекламной кампании; - систематизации методов поиска ресурсов; - составлении календарных планов текущего и капитального ремонта оборудования; - разработке планов замены основных фондов. Рассмотрим различные варианты использования метода динамического программирования для нахождения оптимального управления экономическими системами. Пример 2.1 Изделие, выпускаемое предприятием, имеет параметры качества V0 и себестоимость S0. В результате маркетинговых исследований установили, что для успешной реализации на рынке данное изделие должно иметь соответствующие параметры V1 и S1. Задача предприятия достичь параметров V1 и S1 с минимальными затратами. Процесс изменения V и S будем изображать на плоскости (V,S). Произведем дискретизацию переменных, разбив диапазоны изменения V и S на четыре интервала каждый. При этом дискретные состояния объекта управления будут представляться узлами сетки.
S 0
S1
1 2
8 8 5
6 9
5
6 3
9 8 7
9 7 8
7 2
8 9
6 5
6 9
33 2
4
3
5 3
7 4
4
S0
5
4
V0
9 5
6 3
4
4 8 2 7
2
3 1 8
1
0
V1
V
Рис. 2.1 Считаем, что в каждом узле сетки возможно применение только двух управлений:
Ui =0 - изменение только качества V, Ui =1 - изменение только себестоимости S, таким образом, множеством допустимых управлений будет множество U={0,1} U=(01011001) - одна из возможных траекторий. Для того, чтобы оценить эту траекторию, нужно знать затраты на каждом шаге. Это и будет целевой функцией Q(x, u) . Значения Q(x,u) зададим в виде условных чисел, которыми на рисунке отмечен каждый из возможных переходов. Для траектории U=(01011001) общие затраты, представляющие собой значения критерия качества управления, равны: 4+4+7+5+7+8+9+8=52 Дискретные значения V и S отметим числами от 0 до 4, начиная с конечного значения. Тогда Xij будет обозначать состояние при V=i и S=j, из которого до конца процесса останется сделать i+j шагов. Обозначим через X k множество состояний, из которых процесс заканчивается за k шагов. В это множество войдут все те Xi j, для которых i+j=k. Полагая k=0,1,2 ... , получим: x0={x00} ; x1 ={x10,x01}; x2={x20,x11,x02} и т.д. Решение: при k=1 имеем x1={x10,x01}; F1(x,u)=Q(x,u); f1(x)=min F1(x,u) n
Таблица 2.1
34 Расчет оптимального уравнения на последнем шаге Q (x,u) f 1 (x) u x1
u
X 10
0 1
X 00 ⎯
9 ⎯
9
0
X 01
0 1
⎯ X 00
⎯ 8
8
1
При k=2 имеем x2 ={x20, x11, x02} F2 (x,u)=Q(x,u)+f 1(x), f 2= min F2 (x,u) n
Таблица 2.2 Расчет оптимального управления на предпоследнем шаге X X 20
X 11 X 02
u
x*
0
X 10
1 0 1 0 1
Q (x,u) 9
f 1 (x) 9
F2 (x,u)
X 01 X 10 ⎯
7 ⎯
9 ⎯
16 ⎯
X 01
6
8
14
⎯ 8
u*
18
0
16
1
14
1
18
⎯ 9
⎯____
f 2 (x)
⎯ 17
Таблица 2.3 Расчет оптимального управления за три шага до конца X X 30
u 0 1
x* X 20
Q (x,u) 6
f 2 (x) 18
F3 (x,u) 24
f3 (x) 24
u* 0
35
X 21
0 1 0 1 ⎯ 1
X 12 X 03
⎯ X 11 X 20 X 02 X 11 ⎯ X 02
⎯ 8 8 9 6 ⎯ 3
⎯ 16 18 14 16 ⎯ 14
⎯ 24 2 23 22 ⎯ 17
24
0
22
1
17
1
В рассматриваемом примере данные, содержащиеся в таблицах, можно изображать непосредственно на плоскости (V,S), указывая значения fk (x) в виде числа в соответствующем узле сетки, а u - стрелкой в направлении следующего узла. После того, как значения fk (x) и u* определены для всех узлов сетки, находим оптимальную траекторию, двигаясь от начального узла в направлении стрелок. Оптимальным управлением будет u(11000110), которому соответствует Jn (u)=37
0
32
24
18
9
0
1
36
31
24
16
8
2
32
29
27
22
14
3
34
33
32
25
17
4
37
37
33
26
18
4
3
2
1
0
36 Рис. 2.2 2.2 Использование программировании
сетевых
моделей
в динамическом
Динамические задачи часто решаются с помощью сетевых моделей.. Сеть (граф) G1=(X,U) состоит из множества вершин {X} и множества ребер (дуг) {U}. Дуги могут иметь различную длину U = Cij, где i - начальная вершина дуги, j - конечная вершина дуги. Путь в графе G - это последовательность дуг U, в которой конец каждой предыдущей дуги совпадает с началом следующей.
Принцип оптимальности Оптимальная стратегия обладает свойством, что, каков бы ни был путь достижения некоторого состояния, последующие решения должны принадлежать оптимальной стратегии для части пути, начинающегося с этого состояния.
Для реализации принципа оптимальности удобно использовать следующие обозначения: fn(Xs) - стоимость, отвечающая стратегии минимальных затрат для пути от состояния s, если до конечного состояния остается n шагов. jn (Xs ) - решение (управление), позволяющее достичь fn (Xs) (символ j зависит от шага n, номера вершины s и соответствует некоторому фиксированному пути), показывает переход от вершины Xs к вершине Xj. Последовательность j соответствует оптимальному уравнению. Рекуррентное соотношение имеет вид: f n (Xs) = min [ Csj + f n -1 (X j) ] S, j (x s, x j) ∈ X Упорядоченная запись вычислений выполняется в таблицах. j S номера вершин, из которых
Номера вершин, в которые совершен переход. . . . Csj+f l-1
Таблица 2.4 J l (Xs) f l (Xs)
37 совершен переход
: ·
n=l Xs X j
: ·
: ·
: ·
Таблица 2.5 f l (Xs) j (Xs)
Csj f l − 1 (Xj)
Пример 2.2
. . . : ·
l
Задача о путешествиях
Некий человек N решил отправиться искать счастья в город М. В бюро путешествий ему показали карту Страны Р с нанесенными на ней автобусными маршрутами. Каждый круг на карте изображает населенный пункт. Для удобства они пронумерованы. Стоимость различных автобусных маршрутов различна (например, тем выше, чем длиннее путь). Обозначим через Cij стоимость проезда из пункта i в пункт j. Условные численные обозначения представлены на рис. 2.3
10
7
2 2
5 12
5
8
5
3
1
С 1
5
3
10
10 М
6
7
4
1
4 15 4
7 13
7
1
9
Рис. 2.3 Исходное состояние: fо (10) = 0 для jо (10) = остановка.
38
J
Таблица 2.6 J1 (Xs) f1 (Xs)
10
S 8 1+0 9 4+0 n = 1, Csj + fо(j) Xj
Csj
Xs 8 10 9 10 n=2
Xs 5 6 7
Csj 7 5 3 4 7 1
j S 5 6 7 n=3 j S 2
3 4 n=4
5
6
0 0
f1(Xj) 1 4 1 4 1 4
8
9
7+1 5+4 3+1 4+4 7+1 1+4
7
10+8 12+4 ⎯ 5+8 10+4 7+5 15+4 13+5 ⎯
1 4
Таблица 2.7 f1(Xs) j1(Xs)
fо(Xj)
1 4
Xj 8 9 8 9 8 9
10 10
1 4
10 10
Таблица 2.8 f2(Xs) j2(Xs) 8 8 4
8
5
9
Таблица 2.9 f 2(S) j2(S)
8 4 5
8 8 9
Таблица 2.10 f3(Xs) j3(Xs)
16 12 18
6 7 7
39
j Xs 1
2
2+16
3
4
Таблица 2.11 j4 f4
5+12 1+18
17
3
Оптимальный путь 1 - 3 - 7 - 9 - 10, затраты по которому составляют f 4 (1) = 5 + 7 + 1 + 4 = 17. Дополнительные условия 1) Предположим, между городами 1 и 9 не существует сообщения. Каким теперь будет оптимальный маршрут из 1 в 10? 2) Предположим, дополнительно введен маршрут, связывающий 3 и 8. Какой должна быть наименьшая стоимость проезда между 3 и 8, чтобы выбранный ранее маршрут остался оптимальным? 3) Определить диапазон цен переезда из 1 в 3 ( 3 в 7, 2 в 6 ), в рамках которого ранее выбранный маршрут остается оптимальным. 4) Племянник N., мистер П., живет в п. 10 и хочет отправиться в п. 1. Для каждого участка сети стоимость переезда в обратном направлении та же. Каков оптимальный маршрут П.? Почему он тот же, что и у N., но в обратном направлении?
15+19=34 21 10+16=26 27 20 6+13=19 3+10=13 14 9+3=12
15
40 1
6
2
7
3
8
4
9
5
10
6
Рис. 2.4 Пример 2.3
Задача распределения капиталовложений
Строительная компания разрабатывает план капиталовложений на текущий год. Общий капитал, которым она располагает и который нужно распределить по различным объектам, составляет С сотен тысяч долларов. Рассматривается n возможных объектов капиталовложений. Компания может вложить деньги в любые из этих объектов. Единственным ограничением является объем наличного капитала. Минимальный объем капиталовложений, необходимый для приобретения объёма j, составляет pj. Компания оценивает соответствующую прибыль от вложенного капитала величиной Ui0. Однако, если в этот объект вложить дополнительно k сотен тысяч долларов, то в результате прибыль будет оцениваться величиной Uik. Предполагается, что Ui,к+1>Uik. Компания стремится так распределить капиталовложения по объектам, чтобы максимизировать общую прибыль. Пусть С=10, n=4, минимальные объемы капиталовложений p1=6, p2= 4, p3=3, p4=1. Пусть дополнительные капиталовложения можно распределить в объемах, кратных 1 сотне тысяч долларов, так что к=1,2, ... . Сеть строится следующим образом. Для каждого объекта капиталовложений вводится столбец узлов. В обозначении узла (i,j) символ i относится к номеру объекта. Величина j определяет объем капитала, который можно вложить в объект i, при условии принятия определенных решений относительно вложений в уже рассмотренные объекты. Каждая дуга, исходящая из узла (i,j) соответствует конкретному решению по объекту i. Таким образом, любой допустимый вариант распределения капиталовложений по объектам можно представить в виде проходящего через всю сеть «пути», который начинается в узле (1,10) и заканчивается в узле (5,0). Это означает, что весь наличный капитал должен быть распределен между четырьмя объектами. Проверка: - составить несколько возможных планов распределения капиталовложений и найти соответствующие им пути в сетевой модели; - выбрать несколько путей и найти соответствующие им варианты распределения капиталовложений. Длине дуги соответствует прибыль Uik решения, отображаемого этой дугой. Задача состоит в максимизации прибыли, то есть в отыскании в сети пути максимальной длины.
41 Преобразование задачи о максимальном пути в задачу о кратчайшем пути осуществляется путём изменения знака целевой функции.
1.10
2.10
3.10
1.10
4.7 3.6
4.6
3.5
4.5
2.4
3.4
4.4
2.3
3.3
4.3
2.2
3.2
4.2
2.1
3.1
4.1
2.0
3.0
4.0 Рис. 2.5
5.0
42
Таблица 2.12 объекты кап. влож. 1 2 3 4 5 6 7 8 9 10
1 шаг до конца
j 1
2
3
4
S
5.0
18 22 24 26 28
11 16 18 20 22 24 25
9 12 15 18 20 22 23 24
4 6 8 12 14 16 19 20 21 22
4.10 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0
0+22 0+19 0+16 0+14 0+12 0+8 0+6 0+4 0+0
Таблица 2.13
f (s) j (s) 22 19 16 14 12 8 6 4 0
5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0 5.0
Таблица 2.14
2 шаг до конца
j 4.1 S 0 3.1 22+ 0 0
4.7
4.6
4.5
4.4
4.3
4.2
4.1
4.0
f (s)
j (s)
18+ 7
16+12 14+15 12+18 8+2 0
6+2 2
4+2 3
20+ 0
30
4.4
3.6
-
-
16+0
-
-
8+9
6+1 2
4+1 5
0+1 8
19
4.1
3.5
-
-
-
14+0
-
-
6+9
4+1 2
0+1 5
18
4.1
3.4
-
-
-
-
12+0
-
-
4+9
0+1 2
13
4.1
43 3.3
-
-
-
-
-
8+0
3.2
-
-
-
-
-
-
3.1
-
-
-
-
-
-
3.0
-
-
-
-
-
-
-
0+9
9
4.0
-
6
4.2
-
4
4.1
0+0
0
4.0
6+0 4+0
Таблица 2.15
3 шаг до конца
j 3.1 S 0 2.1 30+ 0 0
3.6
3.5
3.4
19+11 18+16 13+18
3.3
3.2
3.1
3.0
f (s)
j (s)
9+20
6+22
4+24
0+0
32
3.5
2.4
-
-
-
13+0
-
-
-
0+1 1
13
3.4
2.3
-
-
-
-
9+0
-
-
-
9
3.3
2.2
-
-
-
-
-
6+0
-
-
6
3.2
2.1
-
-
-
-
-
-
4+0
-
4
3.1
2.0
-
-
-
-
-
-
-
0+0
6
3.0
Таблица 2.16
4 шаг до конца
j 2.1 S 0 1.1 32+ 0 0
2.4
2.3
13+18 9+22
Оптимальный путь 1.10 - 2.10 - 3.5 - 4.1 - 5.0
2.2
2.1
2.0
f (s)
j (s)
6+24
4+26
0+28
32
2.10
44
Прибыль 32 Организация Кап. вложения Прибыль
Таблица 2.17
1 0
2 5
3 4
4 1
0
16
12
4 ∑ = 32 ЗАДАЧИ
1. Необходимо разработать план аренды оборудования на период 3 года (с начала 1-го до на чала 4-го). Разрешается брать в аренду единицу оборудования в начале года 1 и эксплуатировать ее до начала года j