Скачать презентацию Методы оптимальных решений 1 2 3 4 Скачать презентацию Методы оптимальных решений 1 2 3 4

Методы оптимальных решений.ppt

  • Количество слайдов: 25

Методы оптимальных решений • 1. 2. 3. 4. Основные темы дисциплины Оптимизация – постановка Методы оптимальных решений • 1. 2. 3. 4. Основные темы дисциплины Оптимизация – постановка задачи Линейное программирование и задача оптимизации. Методы решения Двойственные задачи. Применение в экономических приложениях Транспортная задача

Оптимизация. Постановка задачи • Линейное программирование как научно-практическая дисциплина. Из всех задач оптимизации задачи Оптимизация. Постановка задачи • Линейное программирование как научно-практическая дисциплина. Из всех задач оптимизации задачи линейного программирования выделяются тем, что в них ограничения - системы линейных неравенств или равенств. Ограничения задают выпуклые линейные многогранники в конечном линейном пространстве. Целевые функции также линейны. • Впервые такие задачи решались советским математиком Л. В. Канторовичем (1912 -1986) в 1930 -х годах как задачи производственного менеджмента с целью оптимизации организации производства и производственных процессов, например, процессов загрузки станков и раскройки листов материалов. После второй мировой войны аналогичными задачами занялись в США. В 1975 г. Т. Купманс (1910 -1985, родился в Нидерландах, работал в основном в США) и академик АН СССР Л. В. Канторович были награждены Нобелевскими премиями по экономике.

Линейное программирование Наиболее часто используются оптимизационные модели принятия решений. Их общий вид таков: • Линейное программирование Наиболее часто используются оптимизационные модели принятия решений. Их общий вид таков: • F (X) → max • X Є A Здесь F – целевая функция; Х – управляющий параметр, который может иметь различную природу - число, вектор, множество и т. п. Цель менеджера - максимизировать целевую функцию F (X), выбрав соответствующий Х, соответствующий множеству определения А, X Є A. Линейное программирование является одним из наиболее широко применяемых методов оптимизации.

Линейное программирование – постановка задачи Пример 1. Производственная задача. Цех может производить стулья и Линейное программирование – постановка задачи Пример 1. Производственная задача. Цех может производить стулья и столы. На производство стула идет 5 единиц материала, на производство стола - 20 единиц. Стул требует 10 человекочасов, стол - 15. Имеется 400 единиц материала и 450 человекочасов. Прибыль при производстве стула - 45 денежных единиц, при производстве стола - 80 ден. ед. Сколько надо сделать стульев и столов, чтобы получить максимальную прибыль? Обозначим: Х 1 - число изготовленных стульев, Х 2 - число сделанных столов. Задача оптимизации (целевая функция) имеет вид: F(x 1, x 2) = 45 Х 1 + 80 Х 2 → max , Ограничения задачи , т. е. допустимое множество Х 5 Х 1 + 20 Х 2 ≤ 400 10 Х 1 + 15 Х 2 ≤ 450 • Х 1 ≥ 0 • Х 2 ≥ 0

Графическое представление задачи линейного программирования Условия производственной задачи можно изобразить на координатной плоскости, откладывая Графическое представление задачи линейного программирования Условия производственной задачи можно изобразить на координатной плоскости, откладывая по оси абсцисс значения Х 1 , а по вертикальной оси ординат - значения Х 2. Тогда ограничения по материалу и последние две строчки оптимизационной задачи выделяют возможные значения (Х 1 , Х 2) объемов выпуска в виде треугольника (рис. 1). Рис. 1. Ограничения по материалу

Графическое представление задачи линейного программирования. Пример ограничения по материалу изображаются в виде выпуклого Многоугольника Графическое представление задачи линейного программирования. Пример ограничения по материалу изображаются в виде выпуклого Многоугольника ( треугольника). Этот треугольник получается путем отсечения от первого квадранта примыкающей к началу координат зоны. Отсечение проводится прямой, соответствующей ограничениям 5 Х 1 + 20 Х 2 ≤ 400 и Х 1 ≥ 0 , Х 2 ≥ 0. При построении эти неравенства заменяются на равенства. Прямая пересекает ось Х 1, соответствующую стульям, в точке (80, 0). Это означает, что если весь материал пустить на изготовление стульев, то будет изготовлено 80 стульев. Та же прямая пересекает ось Х 2, соответствующую столам, в точке (0, 20). Это означает, что если весь материал пустить на изготовление столов, то будет изготовлено 20 столов. Для всех точек внутри треугольника выполнено неравенство, а не равенство, а это означает, что материал останется.

Линейное программирование. Продолжение примера Ограничения по труду, как и ограничения по материалу, также изображаются Линейное программирование. Продолжение примера Ограничения по труду, как и ограничения по материалу, также изображаются в виде треугольника (рис. 2)

Линейное программирование. Продолжение примера Из анализа результатов рис. 1 и рис. 2 мы видим, Линейное программирование. Продолжение примера Из анализа результатов рис. 1 и рис. 2 мы видим, что очевидного решения нет - для изготовления 80 стульев есть материал, но не хватает рабочих рук, а для производства 30 столов есть рабочая сила, но нет материала, Значит, надо изготавливать и то, и другое. Но в каком соотношении? Чтобы ответить на этот вопрос, надо "совместить" рис. 1 и рис. 2, получив область возможных решений, а затем проследить, какие значения принимает целевая функция на этом множестве (рис. 3).

Линейное программирование. Продолжение примера Линейное программирование. Продолжение примера

Линейное программирование. Продолжение примера Объединение ограничений рис. 1 и рис. 2 приводит к образованию Линейное программирование. Продолжение примера Объединение ограничений рис. 1 и рис. 2 приводит к образованию совместной системы ограничений и формированию области допустимых решений. Графически эта область представляет выпуклый многоугольник рис. 3. с соответствующими координатами вершин

Линейное программирование. Продолжение примера Максимальное (или минимальное ) значение целевой функции для данной простой Линейное программирование. Продолжение примера Максимальное (или минимальное ) значение целевой функции для данной простой задачи можно найти методом простого перебора, вычислив значение целевой функции F(x 1, x 2) = 45 Х 1 + 80 Х 2 в узлах выпуклого многоугольника. Решение задачи: максимум целевой функции достигается в точке (24, 14) и равен 2200 ден. ед.

Двойственная задача. Каждой задаче линейного программирования соответствует двойственная задача. В ней по сравнению с Двойственная задача. Каждой задаче линейного программирования соответствует двойственная задача. В ней по сравнению с исходной задачей строки переходят в столбцы, неравенства меняют знак, Вместо максимума ищется минимум (или, наоборот, вместо минимума –максимум). Задача, двойственная к двойственной – это сама исходная задача. Сравним исходную задачу (слева) и двойственную к ней (справа): • Прямая задача Двойственная задача Целевая функция Целевая функция F = 45 Х 1 + 80 Х 2 → max , F= 400 W 1 + 450 W 2 → min , • 5 Х 1 + 20 Х 2 ≤ 400 , 5 W 1 + 10 W 2 ≥ 45, • 10 Х 1 + 15 Х 2 ≤ 450 , 20 W 1 + 15 W 2 ≥ 80, • Х 1 ≥ 0 , Х 2 ≥ 0. W 1 ≥ 0, W 2 ≥ 0. Доказано, что оптимальные значения целевых функций в исходной и двойственной задачах совпадают (т. е. максимум в исходной задаче совпадает с минимумом в двойственной). оптимальные значения W 1 W 2 показывают стоимость материала и труда соответственно, если Их оценивать по вкладу в целевую функцию их принято называть "объективно обусловленными оценками" сырья и рабочей силы.

 • Методы решения задач линейного программирования относятся к вычислительной математике, а не к • Методы решения задач линейного программирования относятся к вычислительной математике, а не к экономике и менеджменту. Уметь пользоваться этим инструментом должен любой менеджер или инженер. Существуют программы, позволяющие автоматизировать решение этой задачи. • Основными методами решения задачи линейного программирования являются: • 1. Простой перебор. . Является методом графического решения задачи. Строится многоугольник области допустимых решений, в узлах этого прямоугольника вычисляется значение целевой функции, находятся координаты оптимального решения. • 2. Направленный перебор. Строится линия целевой функции, которая переносится параллельно самой себе в направлении роста целевой функции. Находится вершина решения

Симплекс метод 1. Один из первых специализированных методов оптимизации, нацеленный на решение задач линейного Симплекс метод 1. Один из первых специализированных методов оптимизации, нацеленный на решение задач линейного программирования. 2. Был предложен американцем Г. Данцигом в 1951 г. 3. Основная его идея состоит в продвижении по выпуклому многограннику ограничений от вершины к вершине, при котором на каждом шаге значение целевой функции улучшается до тех пор, пока не будет достигнут оптимум. Метод позволяет переходить от одного допустимого базисного решения к другому, причем так, что значения целевой функции непрерывно возрастают. В результате оптимальное решение находят за конечное число шагов. Алгоритмы симплекса-метода позволяют также установить, является ли задача ЛП разрешимой.

Симплекс метод. Пример 2 Предприятие может выпускать автоматические кухни, кофеварки и самовары Данные о Симплекс метод. Пример 2 Предприятие может выпускать автоматические кухни, кофеварки и самовары Данные о производственных мощностях (в штуках изделий) приведены в табл. 2. Штамповка и отделка проводятся на одном и том же оборудовании, а сборка проводится на отдельных участках Таблица 2 Кухни Кофеварки Самовары Штамповка 20000 30000 12000 Отделка 30000 10000 Сборка 20000 12000 8000 Объем выпуска x 1 x 2 x 3 Удельная прибыль (на 1 изделие) 15 12 14

Симплекс метод. Продолжение примера 2 Кухни Кофеварки Самовары Штамповка 20000 30000 12000 Отделка 30000 Симплекс метод. Продолжение примера 2 Кухни Кофеварки Самовары Штамповка 20000 30000 12000 Отделка 30000 10000 Сборка 20000 12000 8000 Объем выпуска x 1 x 2 x 3 Удельная прибыль 15 12 14 Для удобства восприятия система ограничений дана в процентах и задача линейного программирования имеет вид • Х 1 ≥ 0 , Х 2 ≥ 0 , Х 3 ≥ 0 , (0) • Х 1 / 200 + Х 2 / 300 + Х 3 / 120 ≤ 100 , (1) • Х 1 / 300 + Х 2 / 100 + Х 3 / 100 ≤ 100 , (2) • Х 1 / 200 ≤ 100 , (3) (вытекает из 1, можно исключить) • Х 2 / 120 ≤ 100 , (4) (вытекает из 2, можно исключить) • Х 3 / 80 ≤ 100 , (5) • F = 15 Х 1 + 12 Х 2 + 14 Х 3 → max.

Симплекс метод. Продолжение примера 2 После исключения неравенств (3) и (4) задача линейного программирования Симплекс метод. Продолжение примера 2 После исключения неравенств (3) и (4) задача линейного программирования в окончательном варианте примет вид • F = 15 Х 1 + 12 Х 2 + 14 Х 3 → max. • Х 1 / 200 + Х 2 / 300 + Х 3 / 120 ≤ 100 (1), • Х 1 / 300 + Х 2 / 100 + Х 3 / 100 ≤ 100 (2), • Х 3 / 80 ≤ 100 (5) В соответствии с симплекс методом, вводом новых переменных система неравенств приводится в систему равенств. В конкретной задаче вводятся 3 новых переменных. В полученной системе равенств 3 уравнения и 6 неизвестных. Система решается путем последовательного перебора базовых переменных которая приводит к росту целевой функции

Симплекс метод. Продолжение примера 2 После ввода новых переменных система примет вид Х 1 Симплекс метод. Продолжение примера 2 После ввода новых переменных система примет вид Х 1 / 200 + Х 2 / 300 + Х 3 / 120 + Х 4 = 100 Х 1 / 300 + Х 2 / 100 + Х 3 / 100 + Х 5 = 100 (*) Х 3 / 80 + Х 6 = 100 15 Х 1 + 12 Х 2 + 14 Х 3 = F Симплекс метод – первая итерация В данную систему переменные Х 4 , Х 5 , Х 6 входят только в одно из уравнений с коэффициентом 1 и являются базисными. Свободные переменные Х 1 , Х 2 , , Х 3 можно приравнять любой константе, в том числе – нулю. Тогда первое допустимое решение (0, 0, 0, 100, 100) , значение целевой функции F =0. Дальнейшая система пересчетов сводится к переводу одной из свободных переменных в базис и с выводом одной из базисных переменных и переводом ее в свободные переменные.

Симплекс метод. Продолжение примера 2 Х 1 / 200 + Х 2 / 300 Симплекс метод. Продолжение примера 2 Х 1 / 200 + Х 2 / 300 + Х 3 / 120 + Х 4 = 100 Х 1 / 300 + Х 2 / 100 + Х 3 / 100 + Х 5 = 100 (**) Х 3 / 80 + Х 6 = 100 15 Х 1 + 12 Х 2 + 14 Х 3 = F Симплекс метод – вторая итерация 1. В качестве новой базисной переменной выбираем Х 1 – переменную с наибольшим положительным коэффициентом в F. 2. Сравниваем частные от деления свободных членов на коэффициенты при выбранной базисной переменной Х 1. Получаем 100 / (1/200) = 20000, 100 / (1/300) =30000, 100/0 = + ∞. Выбираем в системе строку, которая соответствует этому. Это – первая строка. После ряда преобразований над системой (**) получаем новую систему (***)

Симплекс метод. Продолжение примера 2 Х 1 + 2/3 Х 2 + 2/1, 2 Симплекс метод. Продолжение примера 2 Х 1 + 2/3 Х 2 + 2/1, 2 Х 3 + 200 Х 4 = 20000 7/900 Х 2 + 4/900 Х 3 - 2/3 Х 4 + Х 5 = 100/3, (***) Х 3 / 80 + Х 6 = 100 2 Х 2 - 11 Х 3 - 3000 Х 4 = F – 300000 В новой системе базисными являются Х 1 , Х 5 , Х 6 , свободными Х 2, Х 3 , Х 4. Второе допустимое решение (20000, 0, 100/3, 100) Значение F = 300000. Симплекс метод – вторая итерация Так как наименьший положительный коэффициент в целевой функции – при Х 2, то выбираем Х 2 базисной переменной. Проводя аналогичные действия, образуем частные от деления свободных членов на коэффициенты при Х 2 , получаем 20000 / (2/3) = 30000, (100/3) / (7/900) = 30000/7, 100/0 = + ∞. В качестве разрешающей выбираем вторую строку и после ряда преобразований и пересчетов получаем систему (****) и целевую функцию

Симплекс метод. Продолжение примера 2 Х 1 + 9/7 Х 3 + 1800/7 Х Симплекс метод. Продолжение примера 2 Х 1 + 9/7 Х 3 + 1800/7 Х 4 - 600/7 Х 5 = 120000/7 Х 2 + 4/7 Х 3 - 600/7 Х 4 + 900/7 Х 5 = 30000/7 (****) Х 3 / 80 + Х 6 = 100 - 85/7 Х 3 - 19800/7 Х 4 - 1800/7 Х 5 = F – 308571 Из (****) следует, что базисными переменными являются Х 1 =120000/7 , Х 2 = 30000/7 , Х 6 = 100 , F = 308571. Так как в строке - 85/7 Х 3 - 19800/7 Х 4 - 1800/7 Х 5 = F – 308571 не осталось ни одного положительного коэффициента, то оптимальный план найден и производственная программа такая: Кухни - 120000/7 = 17143 Кофемолки - 30000/7 = 4286 Самовары – 0 Максимальная прибыль – 308571 усл. ден. ед. Все производственное оборудование будет задействовано за исключением линии по сборке самоваров

Транспортная задача–одна из задач линейного программирования. Ее цель – разработка наиболее рациональных путей и Транспортная задача–одна из задач линейного программирования. Ее цель – разработка наиболее рациональных путей и способов транспортировки товаров, устранения чрезмерно дальних, встречных, повторных перевозок. Разработка рациональных способов транспортировки товаров позволяет сокращать время перевозок, расходы на транспортировки, приводит к своевременной реализации потребностей потребителя. В зависимости от соотношения между суммарными запасами и суммарными потребностями транспортные задачи могут быть закрытыми и открытыми. Если сумма запасов груза равна суммарной потребности в нем, то задача - закрытая , в противном случае – открытая. Математическая модель закрытой транспортной задачи – минимизация целевой функции при заданных тарифах на перевозки

Транспортная задача. Пример 3 • • Исходные данные к транспортной задаче. Таблица 3. Потребители Транспортная задача. Пример 3 • • Исходные данные к транспортной задаче. Таблица 3. Потребители П 1 П 2 П 3 П 4 Запасы(a) Склады с1 2 5 5 5 60 с2 1 4 80 с3 3 1 5 2 60 Потребности (b) 50 40 70 40 200

Транспортная задача. Пример 3 Надо спланировать перевозки, т. е. выбрать объемы Хij поставок товара Транспортная задача. Пример 3 Надо спланировать перевозки, т. е. выбрать объемы Хij поставок товара со склада i потребителю j , где i = 1, 2, 3; j = 1, 2, 3, 4. Таким образом, всего в задаче имеется 12 переменных. Они удовлетворяют двум группам ограничений: • По запасам на складах: По ограничениям на потребление X 11 + Х 12 + Х 13 + Х 14 = 60 , X 11 + Х 21 + Х 31 = 50 X 21 + Х 22 + Х 23 + Х 24 = 80 , X 12 + Х 22 + Х 32 = 40 , X 31 + Х 32 + Х 33 + Х 34 = 60. X 13 + Х 23 + Х 33 = 70 , X 14 + Х 24 + Х 34 = 40 Всего 7 ограничений типа равенств. Кроме того, все переменные неотрицательны - еще 12 ограничений. Целевая функция - издержки по перевозке, которые необходимо минимизировать: F = 2 X 11 + 5 Х 12 + 4 Х 13 + 5 Х 14 + X 21 + 2 Х 22 + Х 23 + 4 Х 24 + 3 X 31 + Х 32 + 5 Х 33 + 2 Х 34 → min.

Транспортная задача Количество переменных и ограничений в транспортной задаче таково, что ее следует решать Транспортная задача Количество переменных и ограничений в транспортной задаче таково, что ее следует решать с применением современных программных продуктов. В учебных задачах небольшого размера можно использовать метод потенциалов