Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx53 / курсач-16.docx
Скачиваний:
34
Добавлен:
01.08.2013
Размер:
319.13 Кб
Скачать

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

      1. Задание на курсовую работу

Необходимо составить диету (в соответствии с вариантом), содержащую, по крайней мере, 20 + 16 единиц белков, 30 + 16 единиц углеводов, 10 + 16 единиц жиров и 40 + 16 единиц витаминов, где 16 – номер варианта. Как дешевле всего достичь этого при указанных в таблицах ценах на 1 кг (или на 1 л) пяти имеющихся продуктов?

Таблица 1.1

Хлеб

Соя

Сушеная рыба

Фрукты

Молоко

Белки

Углеводы

Жиры

витамины

2

12

1

2

12

0

8

2

10

0

3

4

1

4

0

6

2

3

4

2

Цена

12

36

32

18

10

    1. Описание метода симплекс-метод

  • Ввести размерность задачи. Ввести коэффициенты в канонической форме, базисные переменные и задать небазисные переменные.

Найти наименьший из коэффициентов .

Пусть это коэффициент . Если , то конец, оптимум найден. Иначе: , и переменная Xs и прейти к 3.

  • Если все , то конец.

Решение лежит вне заданных границ. Иначе вычислить для всех и найти минимум .

Пусть этот минимум равен . Тогда Xs – базисная переменная, а Xr – свободная переменная.

  • Построить новую каноническую форму, изменить базис и перейти к 2.

  1. Введение

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

Симплекс метод - универсальный метод для решения линейной системы уравнений или неравенств и линейного функционала. Во всех таких задачах требуется найти максимум или минимум линейной функции при условии, что её переменные принимают неотрицательные значения и удовлетворяют некоторой системе линейных уравнений или линейных неравенств. В данном случае нужно составить диету, содержащую, по крайней мере: 36 белков, 46 углеводов, 26 жиров, 56 витаминов – рассмотрено, как дешевле всего достичь при определенных ценах на 1 кг и 1 л в 5 имеющихся продуктах (а именно хлеб, соль, сушеная рыба, фрукты, молоко). Каждая из этих задач является частным случаем линейного программирования.

Последовательность вычислений симплекс-методом можно разделить на две основные фазы:

  • нахождение исходной вершины множества допустимых решений,

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

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

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

  1. Теоретическая часть

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

Наиболее простым и наглядным методом линейного программирования (ЛП) является графический метод. Он применяется для решения задач ЛП с двумя переменными.

Задача ЛП в стандартной форме записи:

Допустим n=2, т.е. необходимо рассмотреть данную задачу на плоскости. Пусть система неравенств совместна (имеет хотя бы одно решение).

Каждое неравенство этой системы геометрически определяет полуплоскость с граничной прямой ai1 x1 + ai2 x2 = bi , i=1,2,…m. Условия неотрицательности определяют полуплоскости, соответственно, с граничными прямыми x1=0,x2 =0. Система совместна, поэтому полуплоскости, как выпуклые множества, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек, координаты каждой из которых являются решением данной системы. Совокупность этих точек называют многоугольником решений. Он может быть точкой, отрезком, лучом, многоугольником, неограниченной многоугольной областью.

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

Линейное уравнение описывает множество точек, лежащих на одной

прямой. Линейное неравенство описывает некоторую область на плоскости.

Определим, какую часть плоскости описывает неравенство 1+3х2 12. Во-первых, необходимо построить прямую 1+3х2=12. Эта прямая проходит через точки (6, 0) и (0, 4). Для того чтобы определить, какая полуплоскость удовлетворяет неравенству необходимо выбрать любую точку на графике, не принадлежащую прямой, и подставить ее координаты в неравенство. Если неравенство будет выполняться, то данная точка является допустимым решением и полуплоскость, содержащая точку, удовлетворяет неравенству. Удобной для использования при подстановке в неравенство является начало координат. Нужно подставить х12=0 в неравенство 1+3х212. Получится 20+3012. Данное утверждение является верным, следовательно, неравенству 2х1+3х212 соответствует нижняя полуплоскость, содержащая точку (0.0). Это отражено на графике, изображенном на рис.3.1.

Рис. 3.1. Неравенству 2х1+3х212 соответствует нижняя полуплоскость.

Аналогично можно изобразить графически каждое ограничение задачи линейного программирования.

Решением каждого неравенства системы ограничений ЗЛП является полуплоскость, содержащая граничную прямую и расположенная по одну сторону от нее. Пересечение полуплоскостей, каждая из которых определяется соответствующим неравенством системы, называется областью допустимых решений или областью определения. Необходимо помнить, что область допустимых решений удовлетворяет условиям не отрицательности (xj0, j=1,…,n). Координаты любой точки, принадлежащей области определения являются допустимым решением задачи.

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

.

Этот вектор показывает направление наискорейшего изменения це­левой функции. Прямая, перпендикулярная вектору–градиенту, является линией уровня целевой функции. В любой точке линии уровня целевая функция принимает одно и то же значение. Приравняем целевую функцию постоянной величине “a”. Меняя значение “a”, и получится семейство параллельных прямых, каждая из которых является линией уровня.

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

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

Графический метод решения ЗЛП состоит из следующих этапов.

  • Строится многоугольная область допустимых решений ЗЛП – ОДР,

  • Строится вектор-градиент ЦФ в какой-нибудь точке Х0принадлежащей ОДР – .

  • Линия уровня C1x1+C2x2 = а (а–постоянная величина) - прямая, перпендикулярная вектору – градиенту – передвигается в направлении

этого вектора в случае максимизации f(x1,x2) до тех пор, пока не покинет пределов ОДР. Предельная точка (или точки) области при этом движении и является точкой максимума f(x1,x2).

  • Для нахождения ее координат достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума. Значение f(x1,x2), найденное в получаемой точке, является максимальным.

При минимизации f(x1,x2) линия уровня перемещается в направлении, противоположном вектору-градиенту. Если прямая при своем движении не покидает ОДР, то соответствующий максимум или минимум f(x1,x2) не существует.

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

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

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

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

Задача условной оптимизации называется задачей линейного программирования (ЛП), если целевая функция и все функции ограничений являются линейными функциями:

где . Это есть стандартная форма задачи ЛП. В общем случае ограничения могут иметь знак „" или „=". Однако, умножая неравенство на -1 и заменяя равенство двумя неравенствами „" и „", можно придти к стандартной форме. Кроме того, взяв вместо функцию - , можно получить задачу на минимум. Обозначим через - вектор коэффициентов целевой функции, - вектор свободных членов ограничений, - матрицу коэффициентов ограничений.

  1. Каким соотношением задается отрезок в n-мерном пространстве.

Определение: n-мерным вектором х называется упорядоченная совокупность n действительных чисел (x1, x2,…, xn). Числа x1, x2,…, xn называются компонентами вектора х. Определение. n-мерным векторным

пространством Rn называют совокупность n-мерных векторов с действительными компонентами, рассматриваемая с определенными в ней операциями сложения векторов и умножения вектора на число.

  1. Дайте определение экстремальной точки.

На латинском слово extremum означает "крайнее". Оно в математике имеет два конкретных значения: maximum (сокращенно max) - наибольшее и minimum (сокращенно min) - наименьшее. В таком понимании extremum имеет более узкий смысл, чем optimum, переводимый от латинского как "наилучшее".

Пусть дана функция , где . Говорят, что в точке  достигается максимальное (минимальное) значение функции f, если выполнено неравенство для всех . Этот факт записывается следующим образом:

Точка x*, в которой достигается максимум (минимум) называется максимума (минимума) точкой функции f.

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

Как видим, имеется два вида экстремальных задач - задача на максимум и задача на минимум. Символически они записываются так:

  1. Какое множество называется выпуклым?

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

Рис.3.2 – Выпуклое и не выпуклое множество

  1. Докажите, что если ограничения имеют допустимое решение, то они имеют и базисное решение.

Определение начального допустимого базисного решения (ДБР) в общем случае представляет значительные трудности. Поэтому для поиска ДБР разработаны специальные методы.

Метод искусственных переменных. Пусть ограничения задачи ЛП имеют вид Ax£A0.

Если все bi ³ 0, i = 1, 2,..., m, то свободные векторы, образующие единичную подматрицу, составляют базис, а соответствующие им переменные – начальное базисное решение. В общем случае, когда некоторые ограничения имеют знак ³, например

ai1x1 + ai2x2 +…+ainxn³bi , i=1,2,...., m, то для приведения этих ограничений к стандартной форме равенств свободные переменные надо вычесть. Тогда расширенная форма задачи будет иметь такой вид:

a11x1 + a12x2 +…+ a1nxn –1xn+1 + 0xn+2 +…+0xn+m b1;

 a21x1 + a22x2 +…+ a2nxn +0xn+1–1xn+2 +…+0xn+m b2;

. . . . . . . . . . . . . . . . . . . . . .

am1x1 + am2x2 +…+ amnxn + 0xn+1 + 0xn+2 +…–1xn+m bm.

Свободные переменные {xn+1,…,xn+m}в этом случае уже невозможно использовать в качестве начального базиса, так как xn+1<0,…,xn+m<0.Поэтому в уравнения дополнительно вводят искусственные переменные xn+m+1,…,xn+m+k. Эти переменные не имеют ничего общего с реальной задачей,

и потому их надо вывести из базиса как можно быстрее. Для этого перед началом итераций искусственным переменным в целевой функции приписывают для задач максимизации очень большие по модулю отрицательные коэффициенты (–М), где M>>ci , (i = 1, 2, ..,m).

В случае решения задач минимизаци искусственные переменные вводят в целевую функцию с большими положительными коэффициентами (+М).

Знаки искусственных переменных xn+m+1,…,xn+m+k должны совпадать со знаками соответствующих свободных членов. Искусственные переменные образуют начальное базисное решение. Применив симплекс-метод, необходимо вывести из базиса все искусственные переменные. Если удается доказать (или показать), что искусственные переменные полностью вывести из базиса невозможно, то это означает, что задача не имеет решения, то есть ее ограничения противоречивы.

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

  1. Докажите, что допустимая область является выпуклым множеством.

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

Доказательство.

В стандартной форме в матричных обозначениях допустимая область G определяется условием

Пусть и принадлежит G ,т.е.

Но тогда имеем

т.е. x принадлежит G и, следовательно, выпукло.

В канонической форме область G определена условиями

Пусть и принадлежат G, т.е.

 .

Но тогда имеем

т.е. и, следовательно, G выпукло. Теорема доказана.

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

  1. Дайте характеристику канонической формы задачи лп.

Для построения общего метода решения ЗЛП разные формы ЗЛП должны быть приведены к некоторой стандартной форме, называемой канонической задачей линейного программирования (КЗЛП).

В канонической форме:

  • все функциональные ограничения записываются в виде равенств с неотрицательной правой частью;

  • все переменные неотрицательны;

  • целевая функция подлежит максимизации.

Любую ЗЛП можно привести к каноническому виду, используя следующие правила:

а) максимизация целевой функции f x( ) = c1x1+…+cnxn равносильна минимизации целевой функции: f x( ) =-c1x1 -…-cnxn;

б) ограничение в виде неравенства, например, 3Х1 + 2Х2 – Х3 ≤ 6, может быть приведено к стандартной форме 3Х1 + 2Х2 – Х3 + Х4 = 6, где новая переменная Х4 неотрицательна.

Ограничение Х1 – Х2 + 3Х3 ≥ 10 может быть приведено к стандартной форме Х1 – Х2 + 3Х3 – Х5 = 10, где новая переменная Х5 неотрицательна;

в) если некоторая переменная Хk может принимать любые значения, а требуется, чтобы она была неотрицательная, ее можно привести к виду Xk

Xk= ′ − ′′ , где Xk′ ≥ 0 и Xk′′ ≥ 0

  1. Выведете основные соотношения для симплекс-метода.

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

ОДР представляет собой многогранник в многомерном пространстве. Такая геометрическая фигура называется симплексом, Отсюда название симплекс-метода (СМ). СМ – это упорядоченная процедура перебора угловых точек симплекса, для отыскания точки, доставляющей экстремум целевой функции

Координаты любой точки внутри симплекса называют планом, угловых точек симплекса – опорными планами,

Процедура СМ может быть сформулирована следующим образом:

  • В качестве начального решения выбирается любая угловая точка симплекса, которая называется начальным опорным планом или начальным решением. Пусть это точка А.

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

В задаче о краске целевая функция выглядит :Z = 3xH+2xBmax.

Коэффициент через xH больше, значит нужно увеличивать эту переменную, следовательно, новым опорным планом будет точка В.

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

Соседние файлы в папке docx53