
- •Расчётно-пояснительная записка
- •2003 Г. Содержание
- •Введение
- •1.Постановка задачи оптимизации
- •2.Построение аналитической модели
- •3.Обоснование и описание вычислительное процедуры
- •3.1.Обоснование вычислительной процедуры
- •3.2.Описание вычислительной процедуры
- •4.Решение задачи оптимизации на основе симплекс-таблиц
- •4.1.Приведение аналитической модели к стандартной форме
- •4.2.Нахождение начального допустимого решения
- •4.3.Определение оптимального решения на основе симплекс-таблиц
- •5.Анализ решения на чувствительность
- •6.Проверка оптимального решения в среде Microsoft Excel
- •Заключение
- •Литература
- •Приложение 1
- •Приложение 2
Министерство образования и науки Республики Белоруссии
Белорусский государственный университет информатики и радиоэлектроники
Факультет информационных технологий и управления
Кафедра «Автоматизированные системы обработки информации»
Расчётно-пояснительная записка
к курсовой работе
по курсу «Системный анализ и исследование операций»
на тему «Решение задач оптимизации линейного программирования»
Выполнил студент гр. 120603 _________ Пашкевич М. А.
Руководитель _________ ________________
Минск
2003 Г. Содержание
Содержание ……………………………………………………………………... 2
Введение ………………………………………………………………………… 3
1. Постановка задачи оптимизации …………………………………………… 7
2. Построение аналитической модели …………………………………………. 8
3. Обоснование и описание вычислительной процедуры …………………… 10
3.1. Обоснование вычислительной процедуры ………………………………. 10
3.2. Описание вычислительной процедуры ………………………………..… 10
4. Решение задачи оптимизации на основе симплекс-таблиц ………………. 12
4.1. Приведение аналитической модели к стандартной форме ……………... 12
4.2. Нахождение начального допустимого решения …………………...……. 14
4.3. Определение оптимального решения на основе симплекс-таблиц ….… 15
5. Анализ решения на чувствительность ………………………………….….. 21
6. Проверка оптимального решения в среде Microsoft Excel …………..…… 25
Заключение …………………………………………….……………………….. 27
Литература …………………………………………….……………………….. 28
Приложение 1. Протокол решения задачи оптимизации с использованием пакета SIMPLEX-M ……………………………………………………………. 29
Приложение 2. Рабочий лист Microsoft Excel с результатами решения задачи оптимизации ………………………………….………………………………… 31
Введение
Для решения задач оптимизации линейного программирования в наше время существует множество различных методов. Каждый человек время от времени оказывается в ситуации, когда достижение некоторого результата может быть осуществлено не единственным способом. В таких случаях приходится отыскивать наилучший способ. Однако в различных ситуациях наилучшими могут быть совершенно разные решения. Выбор зависит от сложности решаемой задачи. А ведь именно выбор метода оптимизации является одним их важнейших ее этапов. Наиболее перспективными в своем применении и развитии являются следующие группы методов:
– методы случайного поиска
– аналитические методы
– методы математического программирования.
Методы случайного поиска. На данный момент эти методы являются одними из самых перспективных в своем развитии. Методами случайного поиска решается практически любая задача. Основной идеей этих методов является поиск оптимума целевой функции или направлении к нему, путем перебора случайных совокупностей значений независимых переменных. При использовании данных методов в допустимой области изменения выбирается точка, в которой вычисляется значение целевой функции. Аналогичным образом выбирается еще одна точка, в которой так же вычисляется значении целевой функции. Это значение сравнивается с предыдущим, если новое значение целевой функции меньше исходного (в случае минимизации целевой функции), то новое значение запоминается вместе с координатами точки. Дальше продолжается выборка случайных точек и сравнение значений целевой функции в этих точка с ранее найденным значением. В основном количество точек задает тот, кто решает данную задачу. Но чем больше точек мы возьмем, тем точнее мы получим решение. Но количество точек ограничено так, как это связанно с громоздкими вычислениями. Методы случайного поиска реализуются с помощью ЭВМ.
Аналитические методы. Эти методы применяются в тех случаях, когда целевая функция имеет аналитическое выражение, дифференцируемое во всей области исследования, а число переменных невелико. При решении задач оптимизации нужно учитывать множество различных факторов, а это, как известно, влечет к увеличению числа переменных. И поэтому, число задач решаемых аналитическими методами ограничено.
Методы математического программирования. В эту группу методов входят:
- линейное программирование
- нелинейное программировании
- динамическое программирование.
Линейное программирование – один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина «математическое программирование». Линейное программирование предназначено для решения задач оптимизации с линейными ограничениями на область изменения переменных. Подобные задачи решаются итерационными способами. Методы линейного программирования используются при оптимальном планировании производства при ограниченном количестве ресурсов, а так же для решения транспортных задач, задач о назначениях и др.
С изобретением и распространением ЭВМ, а так же с формулировкой, американским математиком Дж. Данцингом, симплекс-метода, теория и алгоритмический аппарат линейного программирования получила значительный толчок в развитии. Симплекс-метод является универсальным методом для решения любых задач линейного программирования, в отличие от нелинейного и динамического программирования, где нет универсального метода решения задач.
В настоящее время для решения задач оптимизации линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решения. Для решения задач линейного программирования разработано сложное программное обеспечение, дающее возможность эффективно и надёжно решать практические задачи больших объёмов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов. В тоже время широкое распространение получили градиентные методы решения задач оптимизации. Эти методы используются в программе Microsoft Excel в надстройке «Поиск решения».
Нелинейное программирование – эта группа объединила в себе различные способы решения задач оптимизации, такие как градиентные, безградиентные и многие другие.
Объединяет эти методы то, что они используются в тех задачах, у которых нелинейная целевая функция или ограничения. В большинстве случаев это многошаговые методы. Еще их можно назвать методами последующего улучшения исходного решения. Чаще всего в таких задачах нельзя предугадать количество шагов, гарантирующих оптимальное решение. И кроме того от выбора величина шага зависит эффективность применения того или иного метода. Выбор метода решения задач нелинейного программирования определяется сложностью решаемой задачи. Стремление найти оптимальное решение за наименьшее количество шагов объясняет огромное количество методов нелинейного программирования. Из-за громоздкости и сложности реализации вычислений эти методы называют машинно-ориентированными или численными методами.
Динамическое программирование – это эффективный метод решения задач оптимизации многостадийных процессов или задач сводящихся к ним. Основателем является Р. Беллман. Решаемая задача разбивается на этапы – маленькие подзадачи. Решение начинается с последнего этапа и решается поэтапно. На каждом этапе должен учитываться принцип оптимальности Р. Беллмана: решение на каждом шаге выбирается таким образом, чтобы обеспечить эффективность на данном шаге и на всех последующих шагах. Таким образом, динамическое программирование определяет оптимальное решение n-мерной задачи путём её разбиения на N этапов, каждый из которых представляет подзадачу относительно одной переменной. Вычислительное преимущество такого подхода состоит в том, что мы занимаемся решением одномерных оптимизационных задач вместо большой n-мерной задачи.
Нет универсального метода для решения задач оптимизации, выбор его зависит от сложности задачи, вида математической модели (вид ограничений и целевой функции), требований к точности решения и других факторов.