Методики решения задач линейного и нелинейного программирования

Нахождение неотрицательного определения системы ограничений обеспечивающее максимум, минимум целевой функции как основная задача линейного программирования. Специфика применения симплекс-метода для отыскания оптимального решения заданий данного типа.

Рубрика Экономико-математическое моделирование
Вид контрольная работа
Язык русский
Дата добавления 08.12.2015
Размер файла 49,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

1. Линейное программирование

Основная задача линейного программирования:

Найти неотрицательное решение системы ограничений обеспечивающее максимум (минимум) целевой функции.

Чтобы решить задачу линейного программирования необходимо привести ее к каноническому виду.

Теоремы линейного программирования:

Теорема 1. Множество допустимых решений основной задачи линейного программирования выпукло.

Теорема 2. Линейная функция задачи линейного программирования достигает своего экстремального значения в крайней точке множества решений.

При решении системы ограничений могут возникнуть следующие случаи:

1) Система ограничений несовместна, поэтому отыскать оптимальное решение невозможно.

2) Система ограничений имеет единственное решение.

3) Система ограничений имеет конечное число решений (имеется замкнутая область допустимых решений). Оптимальное решение отыскивается среди решений, принадлежащих данной области.

4) Система ограничений имеет бесчисленное множество решений.

2. Симплекс - метод

минимум неотрицательный линейный симплекс

Решение задачи линейного программирования включает в себя 3 этапа:

1) Отыскание базисного решения - некой точки А лежащей на функции.

2) Отыскание опорного решения - некой точки B принадлежащей области, образованной ограничениями.

3) Отыскание оптимального решения - некой точки С (рис. 2) принадлежащей той - же области, и в которой целевая функция достигает своего экстремума.

Отыскание оптимального решения с использованием симплекс - метода сводится к последовательному направленному перебору вершин многогранника, образованного ограничениями при котором монотонно увеличивается (уменьшается) значение целевой функции.

3. Целочисленное линейное программирование

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

Задача целочисленного линейного программирования это задача, где некоторые или все переменные должны принимать строго целочисленные значения, а целевая функция и ограничения - линейные.

В некоторых задачах целочисленные значения могут быть равны только 0 или 1, тогда такие задачи называются задачами с булевыми переменными.

Задачу целочисленного линейного программирования можно решить как задачу линейного программирования, а затем округлить полученное решение. Однако такой способ допустим только при условии, что значения переменных настолько большие, что погрешностью, вызываемой округлением можно пренебречь. Если же в результате решения переменная принимает малое значение, то ее округление может привести к очень далекому от оптимального решения. Применяются два способа решения задач ЦЛП - метод отсечений и метод ветвей и границ.

Решение задачи ЦЛП методом отсечения:

Решение задачи как задачи ЛП.

Если мы получили целочисленное решение, то оно и является решением задачи ЦЛП.

Если мы получаем нецелочисленное решение, то мы к системе ограничений задачи ЛП прибавляем такое ограничение, что полученное нецелочисленное оптимальное решение не может содержаться во множестве допустимых решений и, таким образом, формируем новую задачу ЛП и решаем ее. Цикл повторяется до тех пор пока не будет получено целочисленное решение (решение задачи ЦЛП (если оно существует)).

Решение задачи ЦЛП методом ветвей и границ:

Решаем задачу как задачу ЛП.

Если мы получим оптимальные целочисленные решения задачи ЛП, то они являются также и оптимальными решениями задачи ЦЛП.

Если мы не получим целочисленных решений, то целевая функция Z1 задачи ЛП становится верхней границей оптимального значения Z задачи ЦЛП, потому что значение целевой функции Z при введении в дальнейшем новых ограничений для получения оптимальных целочисленных решений уменьшается.

Затем производится ветвление по одному из нецелочисленных оптимальных решений задачи ЛП. Ветвление осуществляется с использованием некоторых правил по следующей схеме: если n+1, то 1) x; 2) x+1, где х - нецелочисленное оптимальное решение задачи ЛП, по которому мы осуществляем ветвление, n - ближайшее целое к х не превышающее х.

Правила ветвления:

Выбирается переменная, у которой дробная часть наиболее близка к 0,5.

Выбирается переменная с наибольшим приоритетом по какому - либо качественному или количественному значению.

Переменная выбирается произвольно.

Ограничения введенные при ветвлении добавляются к ограничениям задачи ЛП.

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

Вершина называется прозондированной, если:

Мы нашли в ней оптимальное целочисленное решение - решение задачи ЦЛП.

В данной вершине нет оптимальных решений задачи ЛП.

Значение Z в оптимальном решении задачи ЛП не больше текущей нижней границы.

Прочие вершины называются висящими.

4. Нелинейное программирование

Задача математического программирования называется нелинейной, если нелинейны ограничения или целевая функция.

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

Разделяют задачи безусловной и условной оптимизации. Задачами безусловной оптимизации называются задачи оптимизации функции многих переменных без дополнительных ограничений. Существуют следующие методы безусловной оптимизации: покоординатного спуска, градиентные, сопряженных направлений, метод Ньютона. Задачами условной оптимизации называются задачи о оптимизации целевой функции многих переменных f(x1, …, xn) при условии, что эти переменные удовлетворяют следующим ограничениям.

Решение задачи основывается на линейной или квадратичной аппроксимации целевой функции для определения приращений x1, …,xn на каждой итерации.

Существуют также приближенные методы решения нелинейных задач. Это методы основанные на методе кусочно-линейной аппроксимации. Точность нахождения решений зависит от количества интервалов, на которых мы находим решение линейной задачи, максимально приближенной к нелинейной. Такой метод позволяет производить расчеты с помощью симплекс-метода. Обычно в линейных моделях коэффициенты целевой функции постоянны и не зависят от значения переменных. Однако существует ряд задач, где затраты зависят от объема нелинейно. Такие задачи решаются следующим способом: решают задачу ЛП с коэффициентами целевой функции при максимальных значениях переменных. Если в решении мы получили переменные, для которых брались коэффициенты, значит задача решена. В противном случае мы изменяем коэффициенты при целевой функции на коэффициенты при вновь полученных значениях переменных и решаем полученную задачу ЛП. Так мы повторяем до тех пор, пока не будет получено на двух последующих шагах одно и то же решение.

5. Решение задачи нелинейного программирования

Метод кусочно-линейной аппроксимации.

В нашей задаче есть такая величина, как коэффициент увеличения затрат при нагрузке, который не использовался нами при решении задачи методами ЛП и ЦЛП. Собственно этот коэффициент и введен для превращения задачи в нелинейную путем нелинейной зависимости между увеличением затрат и загрузкой предприятий.

Табл. 1

№ предприятия

Коэффициент затрат %

Количество составов

Коэфф. изменения затрат

Затраты на 1т у.е.

Доход

Прибыль На 1 т у.е.

Прибыль на 1 состав у.е.

Њ

100

6,17

1

6

11,64

5,64

676,8

70 - 100

4.31-6,16

1,4

8,4

3,24

388,8

50 - 70

3,08-4,31

1,6

9,6

2,04

244,8

30 - 50

1,85-3,08

1,7

10,2

1,44

172,8

до 30

до 1,85

1,8

10,8

0,84

100,8

Ќ

100

6,18

1

7

11,175

4,175

459,25

70 - 100

4,33-6,18

1,2

8,4

2,775

305,25

50 - 70

3,09-4,33

1,4

9,8

1,375

151,25

30 - 50

1,85-3,09

1,5

10,5

0,675

74,25

до 30

до 1,85

1,7

11,9

- 0,725

- 79,75

Ћ

100

5,66

1

8

10,78

2,78

294,66

70 - 100

3,96-5,66

1,3

10,4

0,38

40,28

50 - 70

2,83-3,96

1,6

12,8

- 2,02

- 214,12

30 - 50

1,7 - 2,83

1,7

13,6

- 2,82

- 298,92

до 30

до 1,7

1,9

15,2

- 4,42

- 458,52

Прибыль (П) рассчитывается по формуле:

П = Д - З,

где Д - доход, З - затраты.

Затраты (З) рассчитываются по формуле:

Пусть x1, x2, x3 принимают свои максимальные значения, тогда MAX

Решение 1.

Рис. 1

x1 = 6,17 x2 = 0,95 x3=4,88 Z1 = 6048,24

Так как x1=6,17 - максимально возможный, то коэффициент при x1 в целевой функции Z2 будет равен 676, 8.

Так как x2=0,95; x2 < 1,87, то коэффициент при x2 в целевой функции Z2 будет равняются -79,75.

Так как x3=4,88; 3,96 < 4,88 <5,66, следовательно x3 попадает в интервал 3,96 - 5,66, следовательно коэффициент при x3 в целевой функции Z2 будет равен 40,28.

Следовательно Z2 = 676,8x1 - 79,75x2 + 40,28x3

Решение 2.

Рис. 2

x1 = 6,17 x2 = 0,17 x3 = 5,66 Z2 = 4387,26

Так как x1=6,17 - максимально возможный, то коэффициент при x1 в целевой функции Z3 будет равен 676, 8.

Так как x2=0,17; x2 < 1,87, то коэффициент при x2 в целевой функции Z3 будет равнятся -79,75.

Так как x3=5,66 - максимально возможный, то коэффициент при x3 в

целевой функции Z3 будет равен 294,68.

Следовательно Z3 = 676,8x1 - 79,75x2 + 294,68x3

Решение 3.

Рис. 3

x1 = 6,166 x2 = 0,17 x3 = 5,66 Z3 = 5827,16

Вывод:

Так как на третьем шаге мы получили значения переменных равных значениям переменных на втором шаге, то мы получили искомое решение задачи нелинейного программирования. Третий шаг, за счет того, что значения коэффициента при x3 были увеличены с 40,28 до 294,68, улучшил целевую функцию Z3 на 5827,16 - 4387,26 = 1439,9 у.е.

Рис. 4

Аппроксимация кривой зависимости затрат от количества составов. Примеры графиков для предприятий 1 и 2.

6. Динамическое программирование (ДП)

Динамическими называются задачи экономики, организации и управления, в которых необходимо распределять ресурсы на каждом этапе какого - либо промежутка (времени).

Имеется некая система S, находящаяся в первоначальном состоянии S. Данная система имеет какие - либо параметры. При переходе системы из одной точки в другую необходимо в каждый момент времени выбирать направление дальнейшего движения из нескольких допустимых направлений при условии, что каждому направлению соответствует своя эффективность (параметры системы изменяются по разному), и необходимо таким образом спланировать маршрут из начальной точки в конечную, чтобы критерий эффективности достигал экстремального значения.

Иными словами из множества допустимых управлений U=(U1, U2, …, Un) необходимо найти оптимальное, при котором система переходит из своего начального состояния в конечное таким образом, что критерий оптимальности W достигает своего максимума.

Динамическое программирование представляет собой метод оптимизации многошаговых процессов по шагам. Локальный оптимум на каждом шаге должен рассчитываться не как оптимальный на данном этапе, а как дающий максимальное значение критерия оптимальности в конце движения. Несоблюдение этого правила приводит к серьезным ошибкам, поэтому при решении задач ДП двигаются обычно из конца пути в начало, рассчитывая затраты при движении в каждом направлении, а затем из начала в конец, находя локальный оптимум из рассчитанных затрат на каждом шаге. Таким образом получаем максимальное значение критерия оптимальности.

В основе расчетов методом динамического программирования лежит принцип Беллмана. Он звучит: оптимальное управление обладает тем свойством, что какавы бы ни были достигнутые состояния и решения до данного момента, последующее решение должно составлять оптимальное поведение относительно состояния, достигнутого на данный момент.

Размещено на Allbest.ru


Подобные документы

  • Математическая формулировка задачи линейного программирования. Применение симплекс-метода решения задач. Геометрическая интерпретация задачи линейного программирования. Применение методов линейного программирования к экстремальным задачам экономики.

    курсовая работа [106,0 K], добавлен 05.10.2014

  • Геометрический способ решения стандартных задач линейного программирования с двумя переменными. Универсальный метод решения канонической задачи. Основная идея симплекс-метода, реализация на примере. Табличная реализация простого симплекс-метода.

    реферат [583,3 K], добавлен 15.06.2010

  • Виды задач линейного программирования и формулировка задачи. Сущность оптимизации как раздела математики и характеристика основных методов решения задач. Понятие симплекс-метода, реальные прикладные задачи. Алгоритм и этапы решения транспортной задачи.

    курсовая работа [268,0 K], добавлен 17.02.2010

  • Цель работы: изучить и научиться применять на практике симплекс - метод для решения прямой и двойственной задачи линейного программирования. Математическая постановка задачи линейного программирования. Общий вид задачи линейного программирования.

    реферат [193,4 K], добавлен 28.12.2008

  • Составление математической модели, целевой функции, построение системы ограничений и симплекс-таблиц для решения задач линейного программирования. Решение транспортной задачи: определение опорного и оптимального плана, проверка методом потенциалов.

    курсовая работа [54,1 K], добавлен 05.03.2010

  • Симплекс-метод решения задач линейного программирования. Элементы теории игр. Системы массового обслуживания. Транспортная задача. Графоаналитический метод решения задач линейного программирования. Определение оптимальной стратегии по критерию Вальде.

    контрольная работа [400,2 K], добавлен 24.08.2010

  • Решение задачи линейного программирования графическим и симплекс-методом. Решение задачи двойственной к исходной. Определение оптимального плана закрепления потребителей за поставщиками однородного груза при условии минимизации общего пробега автомобилей.

    контрольная работа [398,2 K], добавлен 15.08.2012

  • Математическая формализация оптимизационной проблемы. Геометрическая интерпретация стандартной задачи линейного программирования, планирование товарооборота. Сущность и алгоритм симплекс-метода. Постановка транспортной задачи, последовательность решения.

    учебное пособие [126,0 K], добавлен 07.10.2014

  • Понятие задач оптимизации, которые сводятся к нахождению экстремума целевой функции. Функции линейного программирования – наиболее широко применяющегося математического средства решения экономических задач. Пример решения задачи о раскрое материала.

    контрольная работа [60,3 K], добавлен 17.02.2012

  • Транспортная задача линейного программирования, закрытая модель. Создание матрицы перевозок. Вычисление значения целевой функции. Ввод зависимостей из математической модели. Установление параметров задачи. Отчет по результатам транспортной задачи.

    контрольная работа [202,1 K], добавлен 17.02.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.