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

Автор работы: Пользователь скрыл имя, 06 Ноября 2012 в 15:30, курсовая работа

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

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

Содержание

Введение…………………………………………………………………………3
1.Общая задача линейного программирования (ЛП)…………………………5
1.1. Постановка задачи…………………………………………………………5
1.2. Графический метод решения задач ЛП…………………………………...8
1.3. Симплекс-метод решения задач ЛП…………………………………...…11
2. Примеры решения задач различными методами ЛП…………….……......17
Заключение ……………………………………………………………………..29
Список литературы……………………………………………………………..30

Прикрепленные файлы: 1 файл

курсовая линейной программировнаие.doc

— 254.00 Кб (Скачать документ)

Aq,0  Ai,0

------ = min ------ , i = 1,...,m.

Aq,p  i    Ai,p

Элемент Aq,p называется разрешающим элементом, cтрока q симплекс-таблицы, содержащая ведущий элемент, называется, соответственно, разрешающей строкой. Переменная ведущей строки xq заменяется в базисе переменной разрешающего столбца xp и становится свободной переменной с значением 0, в то время как новая базисная переменная xp достигнет максимально возможного значения, равного: max xp = ( Aq,0 / Aq,p).

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

  • умножение уравнения E1(x) = 0 на константу K1 и замена уравнения E1(x) = 0 уравнением K1*E1(x) = 0;
  • сложение уравнений E1(x) = 0 и E2(x) = 0 c последующей заменой уравнения E2(x) = 0 уравнением E1(x) + E2(x) = 0.

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

Ai,p = 0, если i не равно q

и

Ai,p = 1, если i = q.

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

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

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

  1. Поставленная описательная задача переводится в математическую форму (целевая функция и ограничения).
  2. Полученное математическое описание приводят к канонической форме.
  3. Каноническую форму приводят к матричному виду.
  4. Ищут первое допустимое решение. Для этого матрица должна быть правильной. Матрица в ЗЛП называется правильной, если она содержит минимум m правильных (базисных) столбцов, где m – число строк в матрице. Столбец в канонической ЗЛП называется правильным (базисным), если все его элементы равны нулю, кроме единственного равного единице.
  5. Если матрица не является правильной, то ее нужно сделать таковой с помощью искусственного базиса. Для этого в матрицу нужно дописать столько базисных столбцов, чтобы их общее количество вместе с уже имеющимися базисными столбцами составляло m. После этого переходят к пункту 6. Если искусственный столбец выходит из базиса, то его удаляют из матрицы. Если удалены все искусственные столбцы, то получено первое допустимое решение. Если искусственные элементы не удается вывести из базиса, то система не имеет решений.
  6. Строят последовательность матриц. Нужно определить разрешающий столбец, разрешающую строку и разрешающий элемент. Элемент, соответствующий разрешающей строке, удаляется из базиса, а на его место ставят элемент, соответствующий разрешающему столбцу. Составляют уравнение пересчета матрицы, выполняют пересчет, а затем проверяют его результаты на оптимальность. Если решение не оптимально, то заново ограничивают ведущий элемент, ведущую строку и ведущий столбец.

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

Ответ записывается следующим образом:

- Каждому отрицательному коэффициенту в векторе решения ставится в соответствие нулевой коэффициент для соответствующей переменной в ответе.

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

- Фиктивные  переменные в ответе не учитываются.

Разрешающим может быть назначен любой столбец, удовлетворяющий одному из условий:

1) Первый столбец, содержащий положительный элемент в векторе решений.

2) Столбец, содержащий наибольший положительный элемент в строке решения.

3) Если столбец удовлетворяет условию max(Cj min bj/aij) при решении на max, и min(Cj min bj/aij) при решении задач на min.

Cj – коэффициент целевой функции в столбце j, aij – коэффициент в столбце j и строке i.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Примеры  решения задач различными методами  ЛП

Задача 1.

Предприятие выпускает  пиломатериалы и фанеру, используя при этом еловые и пихтовые лесоматериалы. Для изготовления 2,5 м3 пиломатериалов необходимо израсходовать 2,5 м3 еловых и 7,5 м3 пихтовых лесоматериалов. Для приготовления 100 м3 фанеры требуется 5 м3 еловых, 10 м3 пихтовых. Запасы предприятия составляют  80 м3 еловых и 180 м3  лесоматериалы. Найти оптимальный план производства предприятия, если по условиям поставки необходимо произвести не менее 10 м3 лесоматериалов и 1200 м3 фанеры. Доход с 1 м3 пиломатериалов составляет 16 у.е., со 100 м2 - 60 у.е.

Решение

Введем следующие  обозначения:x1- площадь фанеры(100 м2); x2- площадь пиломатериалов (м3).

Доход от реализации фанеры составляет 16x1, а от реализации пиломатериалов 60x2, т.е. необходимо максимизировать целевую функцию:

F(x1,x2)=16x1+60x2→max

Ограничения задачи имеют вид:

5x1+x2≤80,         (1)


10x1+7,5x2≤180, (2)

x2≥10,                 (3)

x1≥12.                 (4)

Первое ограничение по еловым пиломатериалам 5x1+x2≤80. Прямая 5x1+x2=80 проходит через точки (0,80) и (16,0).

Второе ограничение  по пихтовым пиломатериалам 10x1+7,5x2≤180. Прямая 10x1+7,5x2=180 проходит через точки (0,18) и (60,0). Третье ограничение попиломатериалам и четвертое по фанере x2≥12. Решением этой системы является полуплоскость выше (3) прямой и левее (1). На рис.2 заштрихована область допустимых значений.

Рис.2 Область  допустимых значений

Для определения  направления движения к оптимуму построим вектор-градиент Ñ, координаты которого являются частными производными целевой функции, т.е. =(16,60)

Что бы построить  этот вектор, нужно соединить точку (16;60) с началом координат. При максимизации целевой функции необходимо двигаться в направлении вектора-градиента.

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

5x1+x2=80,

x2=10

Отсюда легко записать решение исходной ЗЛП: max f(x) = 800 и достигается при x1=14 и x2=10.

Рис.3. Максимум целевой функции достигается  в точке (14,10).

Таким образом, для оптимального плана производства предприятию  необходимо изготовить 10 м3 пиломатериалов и 14 м2 фанеры.

Задача 2.

Завод производит два вида продукции: велосипеды и мотоциклы. При этом цех по сборке велосипедов имеет мощность 100 тыс. штук в год, цех по сборке мотоциклов 30 тыс. Одна группа механических цехов завода может производить детали либо для 120 тыс. велосипедов, либо для 40 тыс. мотоциклов, либо другую комбинацию деталей, ограниченную этими данными.Другая группа механических цехов может выпускать детали либо для 80 тыс. велосипедов, либо для 60 тыс. мотоциклов, либо любую допустимую их комбинацию. В результате реализации каждой тысячи велосипедов завод получает прибыль в 2 тыс. рублей, а с каждой тыс. мотоциклов- 3 тыс. рублей.

Найти такое  сочетание выпусков продукции, которое  дает наибольшую сумму прибыли.

Решение

В качестве переменных задачи возьмем количество велосипедов  и мотоциклов, выпускаемых заводом  в год (в тыс. штук): x1 и x2.

Учитывая возможности  сборочных цехов, необходимо потребовать, чтобы

x1≤100,  (1)

                                                    x2≤30     (2)

Проанализируем  возможности цехов. При  этом необходимо учитывать, что при выпуске обоих  видов продукции должно выполняться условие пропорциональности количества продукции данного вида доле производственной мощности , занятой ее выпуском. Если предусматривается производство 1000 велосипедов, то доля занятых производственных мощностей механических цехов первой группы составит 1/120 суммы всех мощностей, принимаемых в данном случае за единицу; на выпуск же x1 тыс. велосипедов потребуется занять (1/120) x1 всей мощности. Аналогично для производства x2 тыс. мотоциклов необходимо выделить (1/40) x2 всей мощности. Так что для реализации плана (x1,x2) потребуется предусмотреть

((1/120)x1+(1/40)x2) мощности механических цехов первой группы. Но в производственном процессе может быть использована не более чем вся наличная производственная мощность рассматриваемых цехов, следовательно

(1/120)x1+(1/40)x2≤1,  (3)

Точно также  получаем ограничения по производственной мощности механических цехов второй группы:

(1/80)x1+(1/60)x2≤1.   (4)

По смыслу задачи:

    x1≥0,  (5)

x2≥0     (6)

Любой план (x1,x2), удовлетворяющий ограничениям (1)-(6), будет допустимым и дает предприятию прибыль (в тыс. руб): f(x1,x2)=2x1+3x2

Соотношения образуют математическую модель задачи:

f(x1,x2)=2x1+3x2→max

          x1≤100,       (1)


                                                    x2≤30,            (2)

(1/120)x1+(1/40)x2≤1,    (3)

(1/80)x1+(1/60)x2≤1.     (4)

                  x1≥0,   x2≥0          

Решим данную задачу графическим методом. Для этого  на графике отметим координаты прямой (1/120)x1+(1/40)x2=1, она проходит через точки (0,120) и (40,0) и координаты прямой (1/80)x1+(1/60)x2=1, которая проходит через точки (0,80) и (60,0).Также отметим на графике          x1=100 и x2=30 (рис.3).

Для определения  направления движения к оптимуму построим вектор-градиент Ñ, координаты которого являются частными производными целевой функции, т.е. =(2;3)

Что бы построить  этот вектор, нужно соединить точку (2;3) с началом координат. При максимизации целевой функции необходимо двигаться в направлении вектора-градиента.

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

(1/120)x1+(1/40)x2=1


                                       (1/80)x1+(1/60)x2=1.    

Из первого  уравнения выразим x1 и подставим его во второе уравнение:

x1+3 x2=120,

x1=120-3 x2.

Таким образом, при выпуске 24 тыс. мотоциклов и 48 тыс. велосипе -дов будет получена наибольшая сумма прибыли.

Задача 3.

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

Дано:

F(x)=-2x1+x2→max,

x1+x2≥4,

-x1+2x2≤2,

x1+2x2≤10

Приведем задачу к каноническому виду путем добавления искусственных переменных:

F(x)=-2x1+x2→max,

x1+x2-x3=4,

-x1+2x2+x4= 2,

x1+2x2+x5= 10

 

 

1)Построим симплекс-таблицу:

базисные переменные

коэф. переменных

свободные члены

отношения

x1

x2

x3

x4

x5

0

1

1

-1

0

0

4

 

0

-1

2

0

1

0

2

 

0

1

2

0

0

1

10

 

F

2

-1

0

0

0

0

 

Информация о работе Линейное программирование