Автор: Пользователь скрыл имя, 27 Февраля 2013 в 21:07, курсовая работа
При выполнении любых действий и при принятии решений в различных областях деятельности основополагающим желанием является получение наилучшего результата. Смысл действий и принятие решений определяются заинтересованностью в этих действиях и решениях в соответствии с имеющимися возможностями. Заинтересованность может выражаться в получении максимальной прибыли, минимальной себестоимости при заданной производительности, максимальной производительности при заданных затратах.
ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 5
1.1. Общая математическая формулировка задачи линейного программирования…………………………………………………………………...5
1.2. Методы решения задачи линейного программирования…………………...7
2. РАЗРАБОТКА МОДЕЛИ И РЕШЕНИЕ ЗАДАЧИ О ВЫБОРЕ ОПТИМАЛЬНЫХ ПРОЕКТОВ ДЛЯ ФИНАНСИРОВАНИЯ 15
2.1. Вербальная постановка задачи о выборе оптимальных проектов для финансирования…………………………………………………………………….15
2.2. Разработка экономико-математической модели задачи о выборе оптимальных проектов для финансирования…………………………….………15
2.3. Решение поставленной задачи симплекс-методом………………………...17
2.4. Решение поставленной задачи с помощью средств EXСEL (надстройка «Поиск решения»)………………………………………………………………….19
2.5. Интерпретация результатов расчетов и выработка управленческого решения……………………………………………...……………………………...28
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 31
• 0 этап
Составляем симплексную
Таблица 2
Симплекс-таблица
x1 |
x2 |
... |
xn-1 |
xn |
b | |
F |
-a0,1 |
-a0,2 |
... |
-a0,n-1 |
-a0,n |
-b0 |
xn+1 |
a1,1 |
a1,2 |
... |
a1,n-1 |
a1,n |
b1 |
xn+2 |
a2,1 |
a2,2 |
… |
a2,n-1 |
a2,n |
b2 |
… |
… |
… |
… |
… |
… |
… |
xn+m |
am,1 |
am,2 |
… |
am,n-1 |
am,n |
bm |
• Шаг 1. Проверка на оптимальность
Проверяем на положительность элементы столбца b (свободные члены), если среди них нет отрицательных, то найдено допустимое оптимальное решение (решение, соответствующее одной из вершин многогранника условий). Тогда мы переходим к шагу 2.
Если в столбце
свободных членов имеются
Если среди свободных членов есть отрицательные элементы , а в соответствующей строке нет, то условия задачи несовместны и решений у нее нет.
Если после перерасчета в столбце свободных членов остались отрицательные элементы, то переходим к первому шагу, если таких нет, то ко второму.
• Шаг 2. Проверка на неразрешимость
На предыдущем этапе найдено допустимое решение. Проверим его на оптимальность. Если среди элементов симплексной таблицы, находившихся в строке F (не беря в расчет элемент b0 - текущее значение целевой функции) нет отрицательных, то найдено оптимальное решение.
Если в строке F есть отрицательные элементы, то решение требует улучшения. Выбираем среди отрицательных элементов строки F максимальный по модулю (исключая значение функции b0)
l − столбец, в котором находится этот элемент, будет ведущим. Для того, что бы найти ведущую строку, находим отношение соответствующего свободного члена и элемента из ведущего столбца, при условии, что они неотрицательны.
k − строка, для которой это отношение минимально − ведущая. Элемент ak,l − ведущий (разрешающий). Переменная, соответствующая ведущей строке (xk) исключается из базиса, переменная соответствующая ведущему столбцу (xl) включается в базис. Пересчитываем симплекс − таблицу по формулам . Если в новой таблице после перерасчета в строке F остались отрицательные элементы, то переходим к шагу 2.
Если невозможно найти ведущую строку, так как нет положительных элементов в ведущем столбце, то функция в области допустимых решений задачи не ограничена − алгоритм завершает работу.
Если в строке F и в столбце свободных членов все элементы положи-тельные, то найдено оптимальное решение.3
Правила преобразования симплекс-таблицы:
При составлении новой
симплекс-таблицы в ней
• вместо базисной переменной xk записываем xl; вместо небазисной пе-ременной xl записываем xk;
• ведущий элемент заменяется на обратную величину ak,l'= 1/ak,l ;
• все элементы ведущего столбца (кроме ak,l) умножаются на −1/ak,l ;
Процесс применения симплексного метода предполагает реализацию трех его основных элементов:
1) способ определения какого-либо первоначального допустимого
базисного решения задачи;
2) правило перехода к лучшему (точнее, не худшему) решению;
3) критерий проверки оптимальности найденного решения.
Геометрический (графический) метод
Графический метод решения задачи линейного программирования основан на геометрической интерпретации задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трёхмерного пространства, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трёх изобразить графически вообще невозможно.
Рис. 1. Система ограничений на плоскости
Рассмотрим задачу линейного программирования в стандартной форме с двумя переменными (n = 2). К такой форме может быть сведена и каноническая задача (с ограничениями в виде уравнений), когда число переменных n больше числа уравнений m на 2, т. е. n – m = 2.
Пусть геометрическим изображением системы ограничений является многоугольник ABCDE (рис. 1). Необходимо среди точек этого многоугольника найти такую точку, в которой линейная функция F=c1x1+c2x2 принимает максимальное (или минимальное) значение.
Рассмотрим так называемую линию уровня линейной функции F, т. е. линию вдоль которой эта функция принимает одно и тоже значение a, т.е. F = a, или
c1x1+c2x2 = а
линии уровня широко используются, например, на картах прогноза погоды, где извилистые линии – так называемые изотермы есть ничто иное, как линии уровня температуры Т = с. Ещё более простым примером линий уровня являются параллели на географической карте. Это линии уровня широты.
Предположим надо найти самую северную точку какой-либо области, например страны или материка. Это будет точка, имеющая наибольшую широту, т. е. точка через которую проходит параллель (линия уровня) с самой большой широтой (уровнем).
Именно так и надо поступать при геометрическом решении задач линейного программирования . на многоугольнике решений следует найти точку, через которую проходит линия уровня функции F с наибольшим (если линейная функция максимизируется) или наименьшим (если она минимизируется) уровнем.
Уравнение линии функции (1) есть уравнение прямой линии. При различных уровнях а.
Линии уровня параллельны, так как их угловые коэффициенты определяются только соотношением между коэффициентами c1 и c2 и следовательно, равны. Таким образом, линии уровня функции F – это своеобразные “параллели”, расположенные обычно под углом к осям координат.
Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении линии в другую сторону – только убывает.
Пусть имеются три линии уровня :
F=c1x1 + c2x2 = а1 (I)
F=c1x1 + c2x2 = а2 (II)
F=c1x1 + c2x2 = а3 (III)
Причём линия II заключена между линиями I и III. Тогда а1 < а2 < а3 и а1 > а2 > а3.
В самом деле, на штриховой линии (перпендикулярной к линиям уровня на рис. 2) уровень является линейной функцией, а значит, при смещении в одном направлении возрастает, а в другом – убывает.
Для определения направления
возрастания рекомендуется
Рассмотрим задачу выбора оптимальных проектов для финансирования. Управляющему банка были представлены предложения о четырех проектах, претендующих на кредиты банка. При взвешивании этих предложений следует принять во внимание потребность проектов в наличности и массу доступной наличности для соответствующих периодов.
Доступная наличность банка, потребности проектов и прибыль по ним приведены в табл. 1.
Таблица 3
Доступная наличность банка, потребности проектов и прибыль по ним, в рассматриваемые периоды, тыс. долл.
Проект |
Период 1 |
Период 2 |
Период 3 |
Период 4 |
Прибыль |
А |
8 |
8 |
10 |
10 |
21 |
В |
7 |
9 |
9 |
11 |
18 |
С |
5 |
7 |
9 |
11 |
16 |
D |
9 |
8 |
7 |
6 |
17,5 |
Ресурс банка |
22 |
25 |
38 |
30 |
Какие проекты следует
финансировать и какое
Построим экономико-
Пусть xi – логические переменные, равные 1, если проект принимается и равные 0, если проект не принимается. Тогда суммарная потребность в наличности в данные период будет равна сумме произведений Xi на столбец финансовых затрат по каждому проекту в данный период.
В принятых обозначениях ограничения по ресурсам примут вид:
8x1 + 7x2 + 5x3 + 9x4 ≤ 22,
8x1 + 9x2 + 7x3 + 8x4 ≤ 25,
10x1 + 9x2 + 9x3 + 7x4 ≤ 38,
10x1 + 11x2 + 11x3 + 6x4 ≤ 30,
x1,x2,x3,x4 ≥ 1,
где X(x1,x2,x3,x4) – координаты точки X в R4 (4-мерном пространстве).
Так как неизвестные могут принимать только целые значения, то задача является задачей целочисленного программирования и
В этой модели целевая функция - это математическая запись критерия оптимальности «максимум прибыли от финансирования проекта» Целевая функция равна
F(x1,x2,x3,x4) = 21x1+18x2+16x3+17,5x4 → max.
Двойственная задача: пусть имеется спонсор, который захочет профинансировать те же проекты в тех же потребностях проектов в финансировании, при условии, что он получит от использования этих ресурсов большую прибыль, чем планируется банком.
Тогда целевая функция – это функция ограниченности ресурсов
X(x1,x2,x3,x4) = 22x1+25x2+38x3+30x4→min,
а ограничения примут вид:
8x1 + 8x2 + 10x3 + 10x4 ≥ 21,
7x1 + 9x2 + 9x3 + 11x4 ≥ 18,
5x1 + 7x2 + 9x3 + 11x4 ≥ 16,
9x1 + 8x2 + 7x3 + 6x4 ≥ 17,5.
Какие периоды спонсор станет финансировать и в каких пределах, чтобы его вложения были минимальны?
Решим прямую задачу линейного программирования строчечным симплекс-методом. Определим максимальное значение целевой функции
F(X) = 21x1+18x2+16x3+17,5x4
при следующих условиях ограничений:
8x1+7x2+5x3+9x4≤22
8x1+9x2+7x3+8x4≤25
10x1+9x2+9x3+7x4≤38
Информация о работе Разработка модели и решение задачи линейного программирования