Математическое программирование
План:
Введение
1.
Понятие математического
программирования
2.
Понятие линейного
программирования. Виды
задач линейного
программирования
3.
Понятие нелинейного
программирования
4.
Динамическое программирование
Введение
Переход от административных
к экономическим методам
Известно, что определенный
вид продукции можно
Как лучше организовать
производство, по каким ценам выгодно
производить продукцию, как лучше
всего использовать производственные
ресурсы, которые высвобождаются и
т.п.?
На все эти вопросы
позволяет получить ответ математическое
программирование, являющееся действенным
инструментом принятия решений.
Математическое
В общем виде математическая
постановка экстремальной задачи состоит
в определении наибольшего или
наименьшего значения целевой функции
f(x1, х2,.........., xn) при условиях gi(x1, х2,..........,
xn) ≤ bi, где f и gi — заданные функции, a bi
— некоторые действительные числа.
В зависимости от
свойств функций f и gi математическое
программирование можно рассматривать
как ряд самостоятельных дисциплин, занимающихся
изучением и разработкой методов решения
определенных классов задач.
Прежде всего задачи
математического программирования делятся
на задачи линейного и нелинейного программирования.
При этом если все функции f и gi линейные,
то соответствующая задача является задачей
линейного программирования. Если же хотя
бы одна из указанных функций нелинейная,
то соответствующая задача является задачей
нелинейного программирования. Наиболее
изученным разделом математического программирования
является линейное программирование.
Для решения задач линейного программирования
разработан целый ряд эффективных методов,
алгоритмов и программ. Среди задач нелинейного
программирования наиболее глубоко изучены
задачи выпуклого программирования. Это
задачи, в результате решения которых
определяется минимум выпуклой (или максимум
вогнутой) функции, заданной на выпуклом
замкнутом множестве.
В свою очередь, среди
задач выпуклого
В задачах целочисленного программирования неизвестные могут принимать только целочисленные значения.
Задача, процесс нахождения
решения которой является многоэтапным,
относится к задаче динамического
программирования.
1.
Понятие математического
программирования
Математическое
Наличие ограничений
делает задачи математического
Для решения задач
математического
Математическое
В зависимости от
свойств целевой функции и
функции ограничений все задачи
математического программирования делятся
на три основных класса:
задачи
линейного программирования,
задачи
нелинейного программирования;
задачи
динамического
Если целевая функция
и функции ограничений –
2.
Понятие линейного
программирования. Виды
задач линейного
программирования
Линейное программирование
(ЛП) – один из первых и наиболее
подробно изученных разделов математического
программирования. Именно линейное программирование
явилось тем разделом, с которого
и начала развиваться сама дисциплина
"математическое программирование".
Термин "программирование" в названии
дисциплины ничего общего с термином "программирование
(т.е. составление программы) для ЭВМ"
не имеет, т.к. дисциплина "линейное
программирование" возникла еще до
того времени, когда ЭВМ стали широко применяться
для решения математических, инженерных,
экономических и др. задач.
Термин "линейное
программирование" возник в результате
неточного перевода английского "linear
programming". Одно из значений слова "programming"
- составление планов, планирование. Следовательно,
правильным переводом английского "linear
programming" было бы не "линейное программирование",
а "линейное планирование", что более
точно отражает содержание дисциплины.
Однако, термины линейное программирование,
нелинейное программирование, математическое
программирование и т.д. в нашей литературе
стали общепринятыми и поэтому будут сохранены.
Итак, линейное программирование
возникло после второй мировой войны
и стало быстро развиваться, привлекая
внимание математиков, экономистов
и инженеров благодаря
Можно сказать, что
линейное программирование применимо
для решения математических моделей
тех процессов и систем, в основу которых
может быть положена гипотеза линейного
представления реального мира.
Линейное программирование
применяется при решении
Задача линейного
программирования (ЛП), как уже ясно
из сказанного выше, состоит в нахождении
минимума (или максимума) линейной функции
при линейных ограничениях.
Существует несколько
методов решения задач ЛП. В
данной работе будут рассмотрены
некоторые из них, в частности:
Графический метод
решения задачи ЛП;
Симплексный метод;
Решение задачи ЛП средствами
табличного процессора Excel;
3.
Понятие нелинейного
программирования
В большинстве инженерных
задач построение математической модели
не удается свести к задаче линейного
программирования.
Математические модели
в задачах проектирования реальных
объектов или технологических процессов
должны отражать реальные протекающие
в них физические и, как правило,
нелинейные процессы. Переменные этих
объектов или процессов связанны
между собой физическими
В данной работе будет
рассматриваться такой метод
решения задач НП, как метод
множителей Лагранжа.
Метод множителей Лагранжа
позволяет отыскивать максимум (или
минимум) функции при ограничениях-
4. Динамическое программирование
Динамическое программирование
представляет собой математические
аппарат, позволяющий быстро находить
оптимальное решение в случаях,
когда анализируемая ситуация не
содержит факторов неопределенности,
но имеется большое количество вариантов
поведения, приносящих различные результаты,
среди которых необходимо выбрать
наилучший. Динамическое программирование
подходит к решению некоторого класса
задач путем разложения на части,
небольшие и менее сложные
задачи. В принципе, задачи такого рода
могут быть решены путем перебора
всех возможных вариантов и выбора
среди них наилучшего, однако часто
такой перебор весьма затруднен.
В этих случаях процесс принятия
оптимального решения может быть
разбит на шаги (этапы) и исследован
с помощью метода динамического
программирования.
Решение задач методами
динамического программирования проводится
на основе сформулированного Р.Э.
Таким образом, планирование
каждого шага должно проводится с учетом
общей выгоды, получаемой по завершении
всего процесса, что и позволяет оптимизировать
конечный результат по выбранному критерию.
Вместе с тем
динамическое программирование не является
универсальным методом решения.
Практически каждая задача, решаемая
этим методом, характеризуется своими
особенностями и требует
Динамическое программирование
применяется для решения таких
задач, как: распределение дефицитных
капитальных вложений между новыми
направлениями их использования; разработка
правил управления спросом и запасами;
составление календарных планов
текущего и капитального ремонтов оборудования
и его замены; поиск кратчайших
расстояний на транспортной сети и
т.д.
Пусть процесс оптимизации
разбит на n шагов. На каждом шаге необходимо
определить два типа переменных –
переменную состояния S и переменную
управления X. Переменная S определяет,
в каких состояниях может оказаться
система на данном k-м шаге. В зависимости
от S на этом шаге можно применить
некоторые управления, которые характеризуются
переменной X. Применение управления X
на k-м шаге приносит некоторый результат
Wk(S,Xk) и переводит систему в некоторое
новое состояние S'(S,Xk). Для каждого возможного
состояния на k-м шаге среди всех возможных
управлений выбирается оптимальное управление
X*k такое, чтобы результат, который достигается
за шаги с k-го по n-й, оказался оптимальным.
Числовая характеристика этого результата
называется функцией Беллмана Fk(S) и зависит
от номера шага k и состояния системы S.
Все решения задачи
разбиваются на два этапа. На первом
этапе, который называют условной оптимизацией,
отыскиваются функция Беллмана и
оптимальные управления для всех
возможных состояний на каждом шаге,
начиная с последнего.
После того, как функция
Беллмана и соответствующие оптимальные
управления найдены для всех шагов
с n-го по первый, производится второй этап
решения задачи, который называется безусловной
оптимизацией.
В общем виде задача
динамического программирования формулируется
следующим образом: требуется определить
такое управление X*, переводящее
систему из начального состояния S0
в конечное состояние Sn, при котором
целевая функция F(S0,X*) принимает наибольшее
(наименьшее) значение.
Особенности математической
модели динамического программирования
заключаются в следующем:
задача оптимизации
формулируется как конечный многошаговый
процесс управления;
целевая функция
является аддитивной и равна сумме
целевых функций каждого шага;
выбор управления Xk
на каждом шаге зависит только от состояния
системы к этому шагу Sk-1 и не влияет на
предшествующие шаги (нет обратной связи);
состояние системы
Sk после каждого шага управления зависит
только от предшествующего состояния
системы Sk-1 и этого управляющего воздействия
Xk (отсутствие последействия) и может быть
записано в виде уравнения состояния:
на каждом шаге управление
Xk зависит от конечного числа управляющих
переменных, а состояние системы Sk зависит
от конечного числа переменных;
оптимальное управление
X* представляет собой вектор, определяемый
последовательностью
X*=(X*1, X*2, …, X*k, …, X*n),
число которых и определяет
количество шагов задачи.
Условная оптимизация. Как уже отмечалось выше, на данном этапе отыскиваются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем n-м шаге найти оптимальное управление X*n и значение функции Беллмана Fn(S) не сложно, так как
Fn(S)=max{Wn(S,Xn)},
где максимум ищется
по всем возможным значениям Xn.
Дальнейшие вычисления
производятся согласно рекуррентному
соотношению, связывающему функцию
Беллмана на каждом шаге с этой же функцией,
но вычисленной на предыдущем шаге:
Fk(S)=max{Wk(S,Xk)+Fk+1(S'(S,
Этот максимум (или
минимум) определяется по всем возможным
для k и S значениям переменной управления
X.
Безусловная оптимизация.
После того, как функция Беллмана
и соответствующие оптимальные
управления найдены для всех шагов
с n-го по первый (на первом шаге k=1 состояние
системы равно ее начальному состоянию
S0), осуществляется второй этап решения
задачи. Находится оптимальное управление
на первом шаге X1, применение которого
приведет систему в состояние S1(S,x1*), зная
которое можно, пользуясь результатами
условной оптимизации, найти оптимальное
управление на втором шаге, и так далее
до последнего n-го шага.
Постановка задачи линейного программирования и двойственная задача линейного программирования.
Линейное программирование
является составной частью
Искусство математического
моделирования состоит в том,
чтобы учесть как можно больше
факторов по возможности
В большинстве
случаев первой степенью
Основные формы задачи ЛП.
Различают три
основные формы задач
Стандартная задача ЛП.
Стандартная задача важна ввиду наличия большого числа прикладных моделей, сводящихся наиболее естественным образом к этому классу задач ЛП.
Каноническая задача ЛП.
Основные вычислительные схемы решения задач ЛП разработаны именно для канонической задачи.
Все три перечисленные задачи эквивалентны в том смысле, что каждую из них можно простыми преобразованиями привести к любой из двух остальных.
При изучении
задач ЛП сложилась
Исследование различных,
в том числе и экономических,
процессов обычно начинается с их
моделирования, т.е. отражения реального
процесса через математические соотношения.
При этом производится составление
уравнений или неравенств, связывающих
различные показатели (переменные)
исследуемого процесса, которые образуют
систему ограничений.
В этих соотношениях
выделяются такие переменные, меняя
которые, можно получить оптимальное
значение основного показателя данной
системы (прибыль, доход, затраты и
т.п.). Соответствующие методы, позволяющие
решать указанные задачи, объединяются
в общее название «математическое
программирование» или «
Математическое
Итак, математическое
программирование — это раздел высшей
математики, занимающийся решением задач,
связанных с нахождением
Методами математического
программирования решаются задачи распределения
ресурсов, планирования выпуска продукции,
ценообразования, транспортные задачи
и т.п.
Математическое
Составление математической модели экономической задачи включает следующие этапы: 1) выбор переменных задачи; 2) составление системы ограничений; 3) выбор целевой функции.
Переменными задачи называются величины x1, x2, х3,..., xn, которые полностью характеризуют экономический процесс. Их обычно записывают в виде вектора X=(x1, x2, x3,…., xn)
Система ограничений включает в себя систему уравнений и неравенств, которым удовлетворяют переменные задачи и которые следуют из ограниченности ресурсов или других экономических или физических условий, например, положительности переменных и т.п.
Целевой функцией называют
функцию переменных задачи, которая
характеризует качество выполнения
задачи и экстремум которой требуется
найти.
Таким образом, общая
задача математического
Z(X) = f (x1, x2, x3,…., xn)max(min) (6.4.13)
и соответствующие ему переменные при условии, что эти переменные удовлетворяют системе ограничений
(x1, x2, x3,…., xn ) =0, i=1,2,..,l
(x1, x2, x3,…., xn ) >(<) 0, i = l +1, l+2,…,m (6.4.15)
Если целевая функция (6.4.13)и система ограничений (6.4.14), (6.4.15) являются линейными, то задача математического программирования называется задачей линейного программирования,
В общем случае задача линейного программирования может быть записана в следующем виде:
Это позволяет найти
экстремум целевой функции
Допустимым решением (планом) задачи линейного программирования называется любой п-мерный вектор X=(x1, x2, x3,…., xn), удовлетворяющий системе ограничений и условиям неотрицательности.
Множество допустимых
решений (планов) задачи образует область
допустимых решений (ОДР). Оптимальным
решением (планом) задачи линейного
программирования называется такое
допустимое решение (план) задачи,
при котором целевая функция достигает
экстремума.
Так как в данном случае решается задача на экстремум, то возникает вопрос о возможности использования классических методов исследования на экстремум функции многих переменных. Первым шагом в этом направлении является использование необходимого условия экстремума функции, которое состоит в том, что частные производные функции многих переменных или равны нулю, или не существуют. В данном случае
i=1, 2,…,n .
Но если все сi = 0, то и Z = 0, т.е. экстремум функции не обнаруживается. Связано это с тем, что производную можно использовать для определения экстремума только во внутренних точках области решений, а в данном случае экстремум, как будет показано ниже, находится на границах области. Отсюда и возникает необходимость разработки специальных методов поиска экстремума.

- Математическое решение задач с графической иллюстрацией результатов
- Математична подорож Космосом
- Математичне моделювання та диференціальні рівняння
- Математичне моделювання у структурі навчання
- Математичний апарат і методичний інструментарій діяльності фінансових посередників
- Математичні методи аналізу господарських рішеннь
- Математичні методи і моделі в управлінні та економіці
- Математическое моделирование экономических систем
- Математическое моделирование экономических систем
- Математическое моделирование экономических систем
- Математическое мышление младших школьников
- Математическое обеспечение САПР
- Математическое описание динамических процессов электромеханического преобразования энергии
- Математическое описания полиномов