Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая чистовик.docx
Скачиваний:
49
Добавлен:
18.05.2015
Размер:
205.68 Кб
Скачать

Глава 1. Применение линейного программирования.

1.1. Сущность линейного программирования. Симплексный метод.

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

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

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

Математическая модель задачи – совокупность математических соотношений, описывающих рассматриваемый экономический процесс. Для ее составления необходимо: 1) выбрать переменные задачи; 2) составить систему ограничений; 3) задать целевую функцию.

Переменные задачи – величины ,, …,, которые полностью характеризуют экономический процесс. Их обычно записывают в виде вектора Х=().

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

Целевая функция – функция Z(X)=f( ,, …,) переменных задачи, которая характеризует качество выполнения задачи и экстремум которой требуется найти.

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

Z(X)=f( ,, …,)

и удовлетворяют системе ограничений

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

Допустимое решение (план) задачи линейного программирования – любой n-мерный вектор Х=(), удовлетворяющий системе ограничений и условиям неотрицательности. Множество допустимых решений задачи образует область допустимых решений.

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

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

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

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

Примеры задач линейного программирования: 1) задача об использовании ресурсов или задача планирования производства; 2) задача составления рациона; 3) задача об использовании мощностей/ загрузки оборудования; 4) задача о раскрое материала.

Методы решения задач:

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

2) симплексный метод.

Симплексный метод основывается на следующем:

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

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

  • Угловые точки области допустимых решений алгебраически представляют некоторые базисные (опорные) решения системы ограничений задачи.

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

Основное содержание симплексного метода:

1) найти начальное опорное решение;

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

3) определить критерии завершения процесса решения задачи, позволяющие своевременно прекратить перебор решений на оптимальном решении или сделать заключение об отсутствии решения.

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

Число отличных от нуля координат опорного решения нее может быть больше ранга r системы векторов условий (числа линейно независимых уравнений системы ограничений). Будем считать, что система ограничений состоит из линейно независимых уравнений, т.е. r=m.

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

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

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

при 0, где

k – номер вектора условия , вводимого в базис (номер выбираемого столбца матрицы системы ограничений), аl- номер вектора , вывобдимого из базиса (номер матрицы системы, в которой следует выбирать разрешающий элемент для преобразования Жордана).

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

Используя данное условие, можно получить допустимое базисное решение, которое является начальным опорным решением.

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

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

При переходе от одного опорного решения Х1 к другому Х2 приращение целевой функции находится по формуле

.

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

, или в векторной записи , где

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

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

Чтобы обеспечить наибольшее изменение целевой функции при переходе от одного опорного решения к другому, векторы, выводимый из базиса и вводимый в базис опорного решения, необходимо выбирать, исходя из условий: 1)в задаче на максимум ; 2) в задаче на минимум.

Опорное решение задачи линейного программирования на максимум ( минимум) является оптимальным, если для любого вектора условий оценка разложения по базису опорного решения неотрицательная (неположительная), т.е.: 1) в задаче на максимум ; 2) в задаче на минимум.

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

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

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

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

Алгоритм решения задачи симплексным методом:

  1. Привести задачу линейного программирования к каноническому виду.

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

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

  4. Если выполнится признак единственности оптимального решения, то решение задачи заканчивается.

  5. Если выполняется условие существования множества оптимальных решений, то путем простого перебора найти все оптимальные решения.

  6. Если имеют место условия неограниченности целевой функции, то задача не имеет решения.

  7. Если пункты 4-6 алгоритма не выполняются, найти новое опорное решение и перейти к пункту 3.1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]