Автор работы: Пользователь скрыл имя, 15 Декабря 2011 в 12:46, курсовая работа
Развитие современного общества характеризуется повышением технического уровня, усложнением организационной структуры производства, углублением общественного разделения труда, предъявлением высоких требований к методам планирования и хозяйственного руководства. В этих условиях только научный подход к руководству экономической жизнью общества позволит обеспечить высокие темпы развития народного хозяйства.
ВВЕДЕНИЕ 4
1 МОДЕЛИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 7
2 РЕШЕНИЕ ЗАДАЧИ.ЗАДАЧА ОПТИМАЛЬНОГО ИСПОЛЬЗОВАНИЯ РЕСУРСОВ 16
ЗАКЛЮЧЕНИЕ 25
ЛИТЕРАТУРА 27
………………………
аk1 × x1 + аk2 × x2 + … + аkn × xn £ bk,
аk+1,1 × x1 + аk+1,2 × x2 + … + аk+1,n × xn = bk+1,
………………………
аm1 ×
x1 + аm2 × x2 +
… + аmn × xmn
= bm,
Функция называется целевой функцией задачи, а условия – ограничениями данной задачи.
Совокупность значений переменных Х1, Х2, …, Хn, удовлетворяющих условиям задачи, называется допустимым решением, или планом. План X* = ( , , … ), при котором целевая функция задачи принимает экстремальное значение, называется оптимальным.
Стандартной
задачей линейного
f(x) = ® max (4)
и
которые удовлетворяют
£ bi; (i = ), (5)
Хj ³ 0; (j = ). (6)
Канонической задачей называется задача, в которой требуется найти такой набор переменных Х1, Х2, …, Хn, который позволяет максимизировать функцию цели
f(x) = ® max (7)
и
удовлетворяет системе
= bi; (i = ), (8)
Хj ³ 0; (j = ). (9)
Пусть требуется найти неотрицательные значения переменных Х1, Х2, …, Хn, для которых функция цели принимает максимальное значение
f(x) = C1 Х1 + C2Х2 + …+ CnХn ® max
при ограничениях
Хj ³
0, (j =
Поскольку в ограничениях левая часть меньше, чем правая (или равна ей), чтобы перейти к строгому равенству, необходимо к левой части каждого неравенства добавить соответствующую переменную.
Найти максимум функции цели
f(x) = C1 Х1 + C2Х2 + …+ CnХn + …+ 0×Хn+1 + …+ 0×Хn+m ® max
при ограничениях
Хj ³
0, (j =
Пример. Записать следующую задачу в канонической форме:
f(x) = -X1 + 2X2 - X3 + X4® min,
3X1 - X2 + 2X3 + 2X4 £ 10,
X1 + 2X2 + X3 - X4 ³ 8,
2X
-X
Xj ³ 0, (j = 1 ¸ 4).
Для записи задачи в канонической форме поменяем знаки у всех коэффициентов функции цели на противоположные. Тогда задача будет заключаться в нахождении максимума целевой функции. Для приведения ограничений – неравенств к системе уравнений необходимо приравнять левые и правые части ограничений путем введения дополнительных переменных. Если левая часть ограничения меньше, чем правая, необходимо добавить дополнительную переменную, если же левая часть ограничения больше, из нее следует вычесть некоторое, пока неизвестное, значение.
f(x) = Х1 - 2Х2 + Х3 - Х4 + 0×Х5 + 0×Х6 + 0×Х7 ® max,
3X1 - X2 + 2X3 + 2X4 + X5 = 10,
X1 + 2X2 + X3 - X4 - X6 = 8,
2X1 - X2 - X3 + X4 + X7 = 6,
-X1 + 3X2 + 5X3 - 3X4 = 15, Xj ³ 0.
1. Множество планов
задачи линейного
2. В одной из вершин многогранника решений целевая функция принимает максимальное значение (при условии, что функция ограничена сверху на множестве планов).
3. Если максимальное
значение функция принимает
Если условия задачи линейного программирования не противоречивы, то область ее допустимых решений образует выпуклый многогранник в n-мерном пространстве (многоугольник для двух переменных). При этом оптимальное решение, если оно существует, обязательно достигается в некоторой вершине многогранника (возможно, и более чем в одной).
Таким образом, чтобы найти решение задачи линейного программирования, достаточно перебрать лишь планы, соответствующие вершинам многогранника допустимых решений. Такие планы называют опорными. Однако в сложных задачах и число вершин может оказаться чрезмерно большим, вследствие чего нахождение всех опорных планов потребует огромного объема вычислений.
Симплекс-метод
позволяет осуществить
Симплекс-метод называют еще методом последовательного улучшения плана. Повторное применение указанной процедуры приводит за конечное число шагов к вершине, соответствующей оптимальному плану.
Симплекс-метод применяется к задаче, записанной в канонической форме (используем одну из двойственных задач линейного программирования):
f(x) = 10Х1 + 14Х2 + 12Х3 + 0×Х4 + 0×Х5 + 0×Х6 ® max,
4X1 + 2X2 + X3 + X4 = 180,
3X1 + X2 + 3X3 + X5 = 210,
X1 + 2X2 + 5X3 + X6 = 244.
Для решения задачи линейного программирования составим симплексную таблицу.
|
План Х | Коэффициенты функции цели Сi | q = (Хi / | |||||
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | |||
|
180 | 4 | 2 | 1 | 1 | 0 | 0 | 180/2 = 90 min |
|
210 | 3 | 1 | 3 | 0 | 1 | 0 | 210/1 =210 |
Х6 | 244 | 1 | 2 | 5 | 0 | 0 | 1 | 244/2 =122 |
-10 | -14 | -12 | 0 | 0 | 0 | ключевая строка |
В
первом столбце вписаны базисные
неизвестные, второй содержит коэффициенты
при базисных неизвестных в целевой
функции, в третьем – правые части
уравнений системы ограничений.
Далее записана матрица из коэффициентов
левой части системы ограничений (
). В верхней строке над неизвестными
записаны соответствующие им коэффициенты
в целевой функции. В последней строке
записывается значение целевой функции
при данном опорном плане, которое вычисляется
по формуле f(x) =
, и далее – оценки неизвестных, найденные
по формуле Dj =
- Cj. Если среди оценок Dj
есть отрицательные, то опорный план не
является оптимальным и значение целевой
функции можно улучшить.
Для этого нужно пересчитать симплексную таблицу, выбрав соответствующим образом ключевой элемент, стоящий на пересечении ключевой строки и ключевого столбца, причем берется столбец с наибольшей по абсолютной величине отрицательной
оценкой.
Для определения ключевой строки находим отношения правых частей уравнений к положительным элементам ключевого столбца. Полученные значения q записываются в последний столбец симплексной таблицы. Из них выбирается наименьшая величина, которая указывает на ключевую строку.
Пересчет таблицы производится по следующему правилу: элементы ключевой строки делятся на ключевой элемент. Далее, с помощью метода Жордана Гаусса проводят пересчет таблицы таким образом, чтобы элементы ключевого столбца имели единицу на месте ключевого элемента и нули на месте всех остальных элементов. Для этого вычтем из элементов третьей строки соответствующие элементы первой строки, а из элементов второй строки – элементы первой строки, поделенные на два (на ключевой элемент).
Переменная, соответствующая ключевой строке, выводится из базиса, а переменная, соответствующая ключевому столбцу, вводится вместо нее в базис.
Для каждого шага итерации строится своя симплексная таблица:
Б | Х | 10 | 14 | 12 | 0 | 0 | 0 | q |
Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | |||
|
90 | 2 | 1 | 1/2 | 1/2 | 0 | 0 | 90 : 1/2 = 180 |
|
120 | 1 | 0 | 5/2 | -1/2 | 1 | 0 | 1 20 : 5/2 = 48 |
|
64 | -3 | 0 | 4 | -1 | 0 | 1 | 64 : 4 = 16 min |
f(x) = 1260 | 18 | 0 | -5 | 7 | 0 | 0 | ||
Отрицательная оценка |
Информация о работе Модели линейного программирования. Задача планирования производства