Злп имеет минимум и не имеет максимума 1. 6. 12. Злп не имеет решения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Злп имеет минимум и не имеет максимума 1. 6. 12. Злп не имеет решения



Область допустимых решений, изображенная на рис. 1.6.9 и 1.6.10, соответствует одной и той же системе неравенств:

2x1+x2 ≥2

х1+3x2 ≥3

х12 ≥-1

3x1-x2 ≤6

х12 ≤ 5

Xl ≥0;x2 ≥0, но функции, которые максимизируются, отличаются друг от друга:

• в первом случае — F=x1+2x2,

• во втором — F= х1+x2

Рассмотренные выше примеры показывают, что:

• оптимальное значение целевой функции в первом примере, графическое изображение которого представлено на рис. 1.6.9, достигается в одной единственной точке;

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

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

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

Симплексный метод решения ЗЛП

Графический метод непригоден для решения ЗЛП, у которых количество переменных n > 3. Решение таких задач требует применения аналитических методов. Для решения ЗЛП созданы специальные методы решения, одним из которых является симплекс-метод. Оптимальные решения задачи линейного программирования связаны с угловыми точками многогранника решений. Угловых точек может быть много, если много ограничений. Количество угловых точек соответствует количеству базисных решений. Для каждого базисного решения однозначно определяется значение целевой функции.

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

Критерий разрешимости ЗЛП

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

Симплекс-метод может быть интерпретирован геометрически как движение по соседним угловым точкам многогранника решений. Точки называются соседними, если они расположены на одном ребре. Например, если исходное базисное решение (исходный базисный план) соответствует угловой точке А, то следующий базисный план, полученный в процессе решения задачи симплекс-методом, будет соответствовать угловой точке Q, а оптимальный — угловой точке Н. Следовательно, количество итераций симплекс-метода зависит от выбора исходного базисного плана и количества угловых точек, встречающихся при движении от исходного плана к оптимальному. Основу алгоритма симплекс-метода составляет последовательность шагов, реализующая охарактеризованный выше переход от одного базисного плана к другому и приводящая либо к оптимальному решению, либо к выводу о том, что задача решения не имеет. Прежде чем решать ЗЛП симплекс-методом, ее необходимо привести к канонической форме. Перейдем к канонической форме с неотрицательными дополнительными переменными для ограничений, целевая функция которой должна быть максимизирована, а система ограничений представлена в виде уравнений. Для этого введем дополнительные неотрицательные переменные в левые части неравенств со знаками «+» или «-» в зависимости от знака неравенств.

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

Базисным (опорным) решением системы m линейных уравнений с n переменными называется решение, в котором все (n-m) неосновных переменных равны нулю. Базисное решение, в котором хотя бы одна из основных переменных равна нулю, называется вырожденным.

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

необходимо найти все опорные решения (точки многогранника), множество которых является конечным;

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

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

Рассмотренная схема связана с простым перебором опорных решений, т е в этой схеме не принимается во внимание тот факт, насколько новое испытуемое опорное решение улучшает значение целевой функции и приближает нас к оптимальному решению. Если перебор опорных решений производить направленно, т.е. на каждом из шагов улучшая (или, по крайней мере, не ухудшая) значение целевой функции, то число перебираемых опорных решений можно резко сократить, что приводит к существенному сокращению числа шагов при отыскании оптимума целевой функции. При этом каждое последующее опорное решение выбирается таким образом, чтобы оно было лучше, (или не хуже) предыдущего. Идея симплекс-метода разработана русским ученым Л.В. Канторовичем в 1939 г. На основе этой идеи американский ученый Д. Данциг в 1949 г. разработал симплекс-метод, позволяющий решить любую ЗЛП. В настоящее время на основе этого метода разработан пакет программ, с применением которого решаются задачи линейного программирования.

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

Рассмотрим конкретную задачу. Ее целевая функция имеет вид:

F = 2 х1 + З х2 → max

функциональные ограничения представляют собой систему неравенств:

х 1 + З х 2 ≤ 18

2 х 1 + х 2 ≤ 16

х 2 ≤ 5

З х 1 ≤ 21

прямые ограничения заданы неравенствами: х 1 ≥ 0, х 2 >0

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

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

х 1 + 3 х 2 + х 3 = 18

2 х 1 + х 2 + х 4 = 16

х 2 + х 5 = 5

3 х 1 + х 6 = 21

Все дополнительные переменные введены со знаком «+», т. к. рассматриваемые неравенства имеют знак «≤». Для нахождения первоначального базисного решения разобьем переменные на две группы: основные и неосновные. Базисным решением системы m линейных уравнений с n переменными называют решение, в котором все (n-m) неосновных переменных равны нулю. В качестве основных переменных на первом шаге нужно выбрать такие переменные, каждая из которых входит только в одно уравнение системы ограничений, и при этом нет таких уравнений системы, в которые не входит ни одна из этих переменных. Количество основных переменных равно m. Если выбранные по этому правилу переменные имеют те же знаки, что и соответствующие им свободные члены в правых частях уравнений, то полученное таким образом базисное решение будет допустимым.

Шаг 1. Определим состав основных и неосновных переменных. В соответствии с вышеизложенным правилом:

§ основные переменные: хз, x4, х5, х6;

§ неосновные переменные: x1, x2.

Шаг 2. Теперь, используя систему равенств, выразим основные переменные через неосновные:

х3=18- x1- 3х2 ;

х4=16-2 x12 ;

х5=5-х2;

х6=21-3 х 1.

Шаг 3. Положив неосновные переменные равными нулю, получим первое базисное решение:

Х1 =(х11=0, х21=0, х31=18, х41=16, x51=5, x61=21).

Шаг 4. Выразим целевую функцию через неосновные переменные и определим ее значение при выбранном базисном решении:

F 1 =2x1+3x2=0.

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

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

Шаг 6. Сформулируем основное правило перехода к лучшему (не худшему) решению: в новый состав основных переменных вводится та из неосновных переменных, которая имеет наибольший положительный коэффициент в целевой функции. В данном случае это коэффициент при x2.

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

• как должна измениться (увеличиться) переменная х2, вошедшая в новый состав основных переменных;

• какая переменная из «бывших основных» должна перейти в новый состав неосновных переменных при переходе от одного (старого) базисного решения к другому — новому. Чтобы оценить, в каких пределах возможно изменение переменной х 2, необходимо определить, при каких значениях х2 каждая из «старых» основных переменных останется неотрицательной (соблюдение этого условия и делает новое искомое решение допустимым).

Очевидно, что для этого должны выполняться следующие неравенства:

х3=18 - х1 - 3х2 ≥ 0 х2 ≤ 18/3

х4=16 - 2х1 - х2 ≥ 0 х2 ≤ 16 (1.1)

х5=5 - х2 ≥ 0 х2≤ 5

х6=21 - 3х1 ≥ 0 х2 — любое число

Каждое из неравенств системы (1.1) определяет возможные границы изменения переменной х2. В частности, из последнего неравенства системы следует, что переводимая переменная может возрастать неограниченно, т.е. ее граница может быть обозначена как ∞.

Очевидно, что допустимость решения будет обеспечена только в том случае, если будут выполнены все ограничения системы (1.9.1). В свою очередь, это условие будет соблюдаться, если:

x2 =min { 18/3; 16; 5; ∞ } = 5.

При х2=5 переменная х5 обращается в 0 и переходит в разряд неосновных. Уравнение, где достигается наибольшее возможное значение переменной х2, называется разрешающим. После проделанных преобразований вновь возвращаемся к первому шагу.

Шаг 1. Определяем состав основных и неосновных переменных:

§ основные переменные — x23,x4,x6;

§ неосновные переменные — x15.

Шаг 2. Выразим основные переменные через неосновные, воспользовавшись соотношением из разрешающего уравнения:

х2 = 5 - х5 х2 = 5 - х5

х3 = 18- х1 -3(5 - х5) х3 = 3-х1-3х5

х4 = 16 - 2х1 -(5 - х5) х4 = 11- 2х1 + х5

х6=21-3х1 х6=21-3х1

Шаг 3. Положив неосновные переменные равными нулю, получим новое базисное решение:

Х2=(х12=0, х22=5, х32=3, х42=11, х52=0, х62=21).

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

F 2 =2x1+3x2=2x1+3(5-x5) = 2x1+15-3x5=15.

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

Шаг 6. Используя сформулированное выше правило перехода к лучшему решению, введем в новый состав основных переменных х1

х2=5 - х5 ≥ 0 х1 — любое число

х3=3 - х1 + 3х5 ≥ 0 х1 ≤ 3

х4=11 - 2х1 + х5 ≥ 0 х1 ≤ 11/2

х6=21 - 3х1 ≥ 0 х1 ≤ 21/3

x1=min{∞; 3; 11/2; 21/3 } = 3.

Из разрешающего уравнения следует, что если х1=3, то х3=0, следовательно, можно опять вернуться к первому шагу.

Шаг 1. Определим новый состав основных и неосновных переменных:

§ основные переменные: х1, х2, х4, х6

§ неосновные переменные: х3, х5.

Шаг 2. Выразим основные переменные через неосновные, воспользовавшись соотношением из разрешающего уравнения:

х1=3 - х3 + 3х5 х1=3- х3+3х5

х2 =5 - х5 х2 =5-х5

х4=11 - 2(3 - х3 + 3х5) + х5 х4= 5+2х3-5х5

х6=21 - 3(3 - х3 + 3х5) = 21 – 9 + 3х3 - 9 х5 х6=12+3х3-9х5

Шаг 3. Положив неосновные переменные равными нулю, получим новое базисное решение:

Х3=(х13=3, x32=5, х33=0, х43=5, х53=0, х63=12).

Шаг 4. Выразим целевую функцию через неосновные переменные и определим ее значение при данном базисном решении:

F3 = 2x1 + 3x2=2(3 - х3 + 3x5) + 3(5 - x5) = 21 - 2x3 + 3 x5 = 21.

Шаг 5. Проверим критерий оптимальности: он опять не выполняется, так как коэффициент при х5 положителен.

Шаг 6. Вновь используя сформированное выше правило перехода к лучшему решению, введем в новый состав основных переменных х5.

Определим допустимое изменение х5 и разрешающее уравнение:

х1=3 - х3 + 3х5 ≥ 0 х5 ≥ -1

х2 =5 - х5 ≥ 0 х5 ≤ 5

х4 = 5 + 2 х3 - 5 х5 ≥ 0 х5 ≤ 5/5

х6= 12+3 х3-9 х5 ≥0 х5 ≤ 12/9

x5=min{0,5,5/5,12/9}=l

Из разрешающего уравнения следует, что при х5=1 х4 = 0, следовательно х4 переходит в состав неосновных переменых. Вновь возвращаемся к первому шагу.

Шаг 1. Определяем новый состав переменных:

§ основные переменные: х1, х2, х5, х6,

§ неосновные переменные: х3, х4.

Шаг 2. Выразим основные переменные через неосновные. Воспользовавшись разрешающим уравнением х4=5+2х3-5х5,

получаем:

х5= 1+2/5х3-1/5x4

x1=3-x3+3(1+2/5х3-1/5х4)

х2=5-1-2/5х3+1/5x4

х6= 12+Зх3-9(1 +2/5х3-1 /5х4)

или после преобразования:

x1=6+l/5x3-3/5x4

х2=4-2/5х3+1/5х4

х5=1+2/5х3-1/5х4

х6=3-3/5х3+9/5х4.

Шаг 3. Положив неосновные переменные равными нулю, получим новое базисное решение:

4=(x14=6, х24=4, х34=0, х44=0, х54=1, х64=3).

Шаг 4. Выразим целевую функцию через неосновные переменные и определим ее значение при данном базисном решении:

F4=2x1+3x2=2(6+l/5x3-3/5x4) + 3(4-2/5x3+l/5x4)=24-4/5x3-3/5x4=24

Шаг 5. Используя критерий оптимальности, приходим к выводу, что на этот раз он выполняется и что исследуемое базисное решение является оптимальным

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

Симплекс-таблицы

Ручные вычисления по симплекс-методу удобно оформлять в виде так называемых симплекс-таблиц. Алгоритм симплекс-метода применительно к исходным данным. По исходным данным заполняется начальная симплекс-таблица.

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

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

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

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

4. Разделить элементы выделенной строки исходной таблицы на разрешающий элемент (на месте разрешающего элемента появится единица). Полученная таким образом новая строка пишется на месте прежней в новой таблице. Перейти к п. 5.

5. Каждая следующая строка новой таблицы образуется сложением соответствующей строки исходной таблицы и строки, записанной в п. 4, которая предварительно умножается на такое число, чтобы в клетках выделенного столбца при сложении появились нули. На этом заполнение новой таблицы заканчивается, и происходит переход к п. 1.

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

Дана система ограничений X 1 + З X 2 ≤ 18

2 X 1 + X 2 ≤ 16

Х2 ≤ 5

3 X 1 ≤ 21

X 1 ≥0, Х2≥0

и целевая функция

Z = 2 Х1 + З Х2 → max

Приведем задачу к каноническому виду.

Х 1 + 3 Х 2 + Х 3 = 18

2 Х 1 + Х 2 + Х 4 = 16

Х 2 + Х 5 = 5

3 Х 1 + Х 6 = 21

X 1, …, Х6≥0

Перепишем целевую функцию в виде

–– Z + 2 X1+3 X2=0.

Определим состав основных и неосновных переменных. В соответствии с правилом (см. лекцию 1):

§ основные переменные: x3, x4, х5, х6

§ неосновные переменные: x1, х2

Заполним начальную симплекс – таблицу.

Базисные неизвестные Свободные члены X1 X2 X3 X4 X5 X6
X3              
X4              
X5              
X6              
-Z              

Воспользуемся алгоритмом симплекс-метода. Замечаем, что в последней строке таблицы имеется 2 положительных элемента, выберем наибольший из них (помечен стрелкой), разделим свободные члены на соответствующие положительные числа из выделенного столбца, выбираем наименьшее частное из 6, 16, 5 и выделяем разрешающий элемент (на пересечении строки. X5 и столбца X2). В новый базис вместо неизвестного X5 войдет неизвестное X2. Поскольку разрешающий элемент уже равен единице, выделенную строку без изменений переписываем на прежнее место в новую таблицу. Остальные строки преобразовываем в соответствии с алгоритмом так, чтобы в соответствующих клетках столбца X2 появились нули (так, например, при преобразовании первой строки она предварительно складывается с уже переписанной третьей, умноженной на —3).

Определим новый состав основных и неосновных переменных.

§ основные переменные: x2, x3, х4, х6

§ неосновные переменные: x1, x5

Базисные неизвестные Свободные члены X1 X2 X3 X4 X5 X6
X3           -3  
X4           -1  
X2              
X6              
-Z -15         -3  

Замечаем, что в последней строке таблицы имеется 1 положительный элемент, пометим столбец X1 стрелкой. К новой таблице снова применяем симплекс-алгоритм, начиная с п. 1. Разделим свободные члены на соответствующие положительные числа из выделенного столбца, выбираем наименьшее частное из 3; 5,5; 7 и выделяем разрешающий элемент (на пересечении строки X3 и столбца X1).. В новый базис вместо неизвестного x3 войдет неизвестное X1. Поскольку разрешающий элемент уже равен единице, выделенную строку без изменений переписываем на прежнее место в новую таблицу. Остальные строки преобразовываем в соответствии с алгоритмом так, чтобы в соответствующих клетках столбца X1 появились нули.

Базисные неизвестные Свободные члены X1 X2 X3 X4 X5 X6
X1           -3  
X4       -2      
X2              
X6       -3      
-Z -21     -2      

Определим новый состав основных и неосновных переменных.

§ основные переменные: x1, x2, х5, х6

§ неосновные переменные: x3, x4

В последней строке таблицы имеется 1 положительный элемент, пометим столбец X5 стрелкой. К новой таблице применяем симплекс-алгоритм. Разделим свободные члены на соответствующие положительные числа из выделенного столбца, выбираем наименьшее положительное частное из -1; 1; 5; 12/9 и выделяем разрешающий элемент (на пересечении строки X4 и столбца X5).. В новый базис вместо неизвестного x4 войдет неизвестное X5. Разрешающий элемент не равен единице, поэтому выделенную строку делим на его значение (5) и переписываем на прежнее место в новую таблицу. Остальные строки преобразовываем в соответствии с алгоритмом так, чтобы в соответствующих клетках столбца X5 появились нули.

Базисные неизвестные Свободные члены X1 X2 X3 X4 X5 X6
X1       -1/5 3/5    
X5       -2/5 1/5    
X2       2/5 -1/5    
X6       3/5 -9/5    
-Z -24     -4/5 -3/5    

 

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

§ основные переменные: x1, x2, х5, х6

§ неосновные переменные: x3, x4

является оптимальным. Соответствующее значение целевой функции Z= 24. Таким образом, задача решена.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 382; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.252.153 (0.081 с.)