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

Автор работы: Пользователь скрыл имя, 16 Октября 2014 в 00:08, курсовая работа

Краткое описание

Линейное программировани嬬– это один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого начала развиваться сама дисциплина «математическое программирование» и ее дальнейшие ответвления.
Можно сказать, что линейное программирование применимо для построения математических моделей тех процессов, в основу которых может быть положена гипотеза линейного представления реального мира: экономических задач, задач управления и планирования, оптимального размещения оборудования и пр.

Содержание

ВВЕДЕНИЕ 3
1 ПОСТАНОВКА ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ И МЕТОДЫEEРЕШЕНИЯ 4
1.1 Постановка задачи 4
1.2.Рассмотрение графического метода решения задачи линейного программирования 5
1.3. Алгоритм решения задач ЛП графическим методом 10
2 ПРИМЕНЕНИЕ ГРАФИЧЕСКОГО МЕТОДА РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ НА ПРАКТИКЕ 12
2.1 Решение обычной задачи ЛП графическим методом 12
2.2 Экономическая постановка задачи линейного программирования 14
2.3 Решение задачи ЛП средствами программного продукта Gsimplex 17
ЗАКЛЮЧЕНИЕ 19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20

Вложенные файлы: 1 файл

Главная.docx

— 1.32 Мб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования 
«Брестский государственный университет имени А.С. Пушкина»

____________________ факультет

Кафедра ________________________________

 

 

 

Курсовая работа

 

 

ГРАФИЧЕСКИЙ МЕТОД РЕШЕНИЯ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

 

 

Выполнил:

_______________________________

студент __ курса ______________ факультета, специальности _______________________________

 

Допущен к защите:

 

 

Брест 2014

 

СОДЕРЖАНИЕ

 

 

ВВЕДЕНИЕ

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

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

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

  • рационального использования сырья и материалов; задачи оптимизации раскроя;
  • оптимизации производственной программы предприятий;
  • оптимального размещения и концентрации производства;
  • составления оптимального плана перевозок, работы транспорта;
  • управления производственными запасами;
  • и многие другие, принадлежащие сфере оптимального планирования.

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

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

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

  1. поставить задачу линейного программирования в доступной форме;
  2. изучить теорию по решению задали ЛП графическим методом;
  3. разработать алгоритм решения такого рода задач;
  4. Решить конкретную задачу ЛП графическим методом;
  5. Провести обзор программного продукта, который позволяет выполнить решение задачи ЛП графическим методом автоматически.

 

1 ПОСТАНОВКА ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ и методы ЕЕ решения

1.1 Постановка задачи

Основная задача линейного программирования (ОЗЛП) ставится следующим образом: Имеется ряд переменных . Требуется найти такие их неотрицательные значения, которые удовлетворяли бы системе линейных уравнений:

                                    ( 1.1)

 

и, кроме того, обращали бы в минимум линейную целевую функцию (ЦФ)

Очевидно, случай, когда ЦФ нужно обратить не в минимум, а в максимум, легко сводится к предыдущему, если изменить знак функции и рассмотреть вместо нее функцию

 

Допустимым решением ОЗЛП называют любую совокупность переменных , удовлетворяющую уравнениям (1.1).

Оптимальным решением называют то из допустимых решений, при котором ЦФ обращается в минимум.

На практике ограничения в задаче линейного программирования часто заданы не уравнениями, а неравенствами. В этом случае можно перейти к основной задаче линейного программирования.

Рассмотрим задачу линейного программирования с ограничениями-неравенствами, которые имеют вид

                                          (1.2)

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

   

Введём уравнения:

                                              (1.3)

где - добавочные переменные, которые также как и являются неотрицательными.

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

Коэффициенты в формуле (1.3) перед равны нулю.

1.2. Рассмотрение графического метода  решения задачи линейного программирования

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

Пусть задача линейного программирования задана в двумерном пространстве, т.е. ограничения содержат две переменные. Найти максимальное значение функции z = c1x1 + c2х2 при следующих ограничениях:

       (1.4)

Дадим геометрическую интерпретацию элементов этой задачи.

Каждое из ограничений (1.4) задает на плоскости x1Ox2 некоторую полуплоскость. Их пересечение является областью допустимых решений задачи.

а) ОДР – выпуклый многоугольник

б) ОДР – неограниченная выпуклая многоугольная область

в) ОДР – единственная точка

г) ОДР – прямая линия

д) ОДР – пустое множество


Рисунок 1 – Различные вариации ОДР

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

Рассмотрим геометрическую интерпретацию области допустимых решений. Каждое из неравенств системы ограничений задачи геометрически определяет полуплоскость, содержащую граничные прямые и расположенную по одну сторону от неё. Для определения полуплоскости, являющейся решением неравенства, необходимо выбрать точку с известными координатами на плоскости. Выбранная точка не должна принадлежать граничной прямой. Координаты этой точки требуется подставить в исследуемое неравенство. Если после подстановки координат точки в неравенство будет получено справедливое неравенство, то полуплоскость, определенная исследуемым неравенством, содержит данную точку. Иначе, полуплоскость, определенная исследуемым неравенством не содержит данную точку.

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

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

Перейдем к геометрической интерпретации целевой функции. Уравнение при фиксированном значении z=h ( ) определяет на плоскости прямую . При изменении h получаем семейство параллельных прямых, которое называется линиями уровня. В каждой точке этой прямой (линии уровня) целевая функция принимает фиксированное значение, равное h.

Рассмотрим функцию , дифференцируемую в некоторой точке .

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

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

Вектор - показывает направление наибольшего убывания целевой функции.

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

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

Рисунок 2 – Многоугольник допустимых решений и исходная линия уровня пересекаются, вектор

лежит во втором квадранте

Рисунок 3 – Многоугольник допустимых решений и исходная линия уровня не пересекаются, вектор

лежит в первом квадранте

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

 

Рисунок 4 – Система ограничений задачи линейного программирования несовместна

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

Рисунок 5 – Целевая функция на множестве допустимых решений задачи линейного программирования неограниченно возрастает или неограниченно убывает

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

Рисунок 6 – Целевая функция принимает экстремальное значение в любой точке некоторого отрезка: минимальное значение – отрезок АВ, максимальное значение – отрезок CD

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

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

1.3. Алгоритм решения задач ЛП графическим методом

  1. В ограничениях задачи (1.4) заменить знаки неравенств знаками точных равенств и построить соответствующие прямые.
  2. Найти и заштриховать полуплоскости, разрешенные каждым из ограничений-неравенств задачи (1.4). Для этого нужно подставить в конкретное неравенство координаты какой-либо точки [например, (0;0)], и проверить истинность полученного неравенства.

Если  неравенство истинное,

то    надо заштриховать полуплоскость, содержащую данную точку;

Информация о работе Графический метод решения задач линейного программирования