АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Метод единичных векторов

Читайте также:
  1. F. Метод, основанный на использовании свойства монотонности показательной функции .
  2. FAST (Методика быстрого анализа решения)
  3. I этап Подготовка к развитию грудобрюшного типа дыхания по традиционной методике
  4. I. 2.1. Графический метод решения задачи ЛП
  5. I. 3.2. Двойственный симплекс-метод.
  6. I. ГИМНАСТИКА, ЕЕ ЗАДАЧИ И МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ
  7. I. Метод рассмотрения остатков от деления.
  8. I. Методические основы
  9. I. Методические основы оценки эффективности инвестиционных проектов
  10. I. Организационно-методический раздел
  11. I. Предмет и метод теоретической экономики
  12. I. Что изучает экономика. Предмет и метод экономики.

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

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

а) найти все опорные решения;

б) вычислить значения функции цели, соответствующие этим опорным

решениям;

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

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

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

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

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

при условиях

,

,

,

.

Видим, что задача имеет пять неизвестных и три ограничения, т.е. степень неопределенности р=2. Это означает, что два неизвестных можно принять за свободные, а три – за базисные. В данной задаче на первом шаге итерации удобно, если свободными будут переменные х4=0, х5=0. Тогда базисными будут остальные переменные х1; х2; х3. Из ограничений следует, что в таком случае они будут иметь следующие значения:

x1 = b1; x2 = b2; x3 = b3.

Имеем первый опорный план:

,

с которого уже можно начинать итерационный процесс симплекс-метода. В частности, при этом плане первое значение функции цели примет вид:

.

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

,

где вектор-столбцы Рj имеют вид

, , , , , .

Векторы Р1, Р2, Р3 – единичные векторы при переменных х1, х2, х3 соответственно. Именно их в данной задаче мы приняли за базисные и не равные нулю. Векторы Р4, Р5 – неединичные и содержат множители при переменных х4, х5, которые приняты за свободные и они приравнены нулю (вспомним, что в любой вершине симплекса ряд переменных обязательно равны нулю, их количество равно степени неопределенности задачи). В результате мы приходим к формированию первого опорного плана в представленном выше виде.

Сформулируем следующие правила реализации метода:

1. Задачу линейного программирования записывают в виде основной ЗЛП (F→max, все ограничения – равенства).

2. Оценивают степень неопределенности задачи р (число неизвестных минус число ограничений).

3. Записывают вектор-столбцы Рj множителей при переменных.

4. Определяют единичные вектор-столбцы. Их количество должно быть не менее количества ограничений.

5. Те переменные, для которых Pj – единичные вектор-столбцы, переводятся в базисные, остальные – в свободные.

6. Базисные переменные приравниваются свободным членам ограничений хi=bi, свободные переменные приравниваются нулю. В сумме они образуют первый опорный план.

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

З а д а ч а. Найти максимальное значение функции

при ограничениях

,

,

,

.

Запишем вектор-столбцы в ограничениях

, , , , , .

Предположим, что из приведенных единичными будут векторы Р3, Р4, Р5. Это означает, что коэффициенты а132435=1, а коэффициенты а141523253334=0. Тогда переменные х3, х4, х5 становятсябазисными,а переменные х1, х2 – свободными. Последние приравниваются нулю, тогда базисные переменные принимают значения х3=b1, x4=b2, x5=b3, т.е. мы имеем первый опорный план Х(1)=(0, 0, b1, b2, b3). Теперь необходимо заполнить симплекс-таблицу (табл.2).

Таблица 2

Симплекс-таблица задачи линейного программирования

i Базис Cб Р0 C1 C2 C3 C4 C5
P1 P2 P3 P4 P5
                   
  Р3 с3 b1 а11 а12 а13=1 а14=0 а15=0 b1/a12
  Р4 с4 b2 а21 а22 а23=0 а24=1 а25=0 b2/a22
  Р5 с5 b3 а31 а32 а33=0 а34=0 а35=1 b3/a32
  zj    
  j     z1-c1 z2-c2 z3-c3=0 z4-c4=0 z5-c5=0  

 

Для данной задачи табл. 2 имеет 10 столбцов и пять строк. В столбец «базис» вписываются индексы векторов-столбцов тех переменных, которые в данный момент являются базисными. В нашем случае это Р3, Р4, Р5. В столбец «Сб» вносятся значения ценовых множителей (со своим знаком), которые содержатся в функции цели при соответствующей базисной переменной. В столбец Р0 записываются значения базисных переменных для рассматриваемого опорного плана (в первой симплекс-таблице это свободные члены в уравнениях ограничений). В последующие столбцы записываются значения соответствующих вектор-столбцов. Видим, что только по свободным переменным в столбцах Рj (j=1…5) есть конкретные числа, а по столбцам при базисных переменных – только по одной единице, в остальных клетках – нули.

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

1. По столбцам Р0 – Р5 рассчитывается сумма произведений стоящей в соответствующей клетке цифры на ценовой коэффициент с, стоящий при i -ой переменной из базиса (в данном случае i=1…3). Эта сумма обозначена через индекс zj.

2. По столбцам Р1 – Р5 определяют разность между суммами zj и ценовым коэффициентом cj по каждой переменной и эта сумма записывается в строке 5 под индексом j.

3. После выполнения предыдущих операций проводят анализ данного опорного плана. Если в результате расчетов все ∆j ≥ 0, то данный опорный план является оптимальным. В противном случае следует искать другой опорный план.

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

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

Если в результате первой итерации установлено, что задача может иметь другой опорный план, происходит переход к следующему опорному плану. Он заключается в том, что определяется переменная, которая должна быть переведена из свободной в базисную. Такая переменная определяется по минимальному (с учетом знака) значению j (см. пункт 4). Если, например, таковой окажется 2 ≤ 0 → min, то это означает, что вторая переменная должна быть переведена из свободных в базисную. Остается установить, взамен какой переменная х2 должна быть введена в базис.

Для этого надо выполнить дополнительные расчеты фактора t по каждой базисной переменной. Он определяется путем деления значения данной переменной (находится в столбце Р0)на соответствующий для данной переменной коэффициент аij из разрешающего столбца (принимаются во внимание только положительные коэффициенты). Результаты расчетов записываются в столбец 10. Из полученного набора ti выбирается минимальное значение. Предположим, что t2=min. Это означает, что переменная х4 должна быть выведена из базисных и переведена в свободные (т.е. х4=0), а на ее место необходимо поместить переменную х2 ≠ 0. Тогда очередной опорный план будем искать в виде Х(2)=(0, х2, х3, 0, х5).

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

Очередная симплекс-таблица имеет прежнюю форму, но другое содержание. Прежде всего в новой таблице заполняется разрешающая строка, т.е. в данном случае вторая, где будет стоять новый базис. Для этого все элементы старой строки (Р0 – Р5) делят на величину разрешающего элемента (в данном случае на а22), при этом в столбец «базис» вписывается обозначение базиса новой переменной (Р4 заменяется на Р2), в третий столбец «Сб» вписывается из функции цели величина коэффициента с2. Элементы остальных строк (по векторам Р0 – Р5) в новой таблице вычисляют по правилу треугольника. Оно заключается в следующем (рис.4).

Имеются:

1) две строки - преобразованная с новой базисной переменной (строка нового базиса в новой симплекс-таблице, рис.4), и преобразуемая строка одной из старых базисных переменных (в старой симплекс-таблице);

 

Рис.4. К обоснованию “правила треугольника”

 

2) два столбца – столбец (например, j=1), по которому происходит замена элементов, и разрешающий столбец j.

Заменяют элемент а11 в первой строке на новое его содержание А11:

,

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

В новой симплекс-таблице проводят расчеты zj, ∆j и делают заключение о новом опорном плане. Если подтверждается его оптимальность, то значения базовых переменных в оптимальном плане будут находиться в столбце “ Р0 “, а свободные переменные будут иметь нулевое значение. По этим данным рассчитывают значение функции цели, хотя эта цифра будет уже находиться в таблице в ячейке на пересечении столбца “ Р0 “ и строки zj. Рассмотрим на примере практическую реализацию описанных выше процедур, а также проясним физический смысл некоторых параметров и процедур.

З а д а ч а 5. Для изготовления различных изделий А, В, С предприятие использует три различных вида сырьевых материалов. Нормы расхода сырья каждого вида на производство одного изделия каждого вида, цена одного изделия, а также общее количество сырья каждого вида, которое может быть использовано предприятием, приведено в таблице 3. Изделия А,В,С, могут производиться в любых соотношениях, но производство ограничено имеющимися ресурсами. Необходимо составить план выпуска изделий, при котором, максимально используя имеющийся запас сырьевых материалов, общая стоимость всей произведенной продукции будет максимальной.

Таблица 3

Технологическая программа производства

Вид сырья Нормы затрат сырья на одно изделие Запас сырья
А В С
I        
II        
III        
Цена изделия        
План выпуска х1 х2 х3  

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

,

,

.

По своему экономическому содержанию переменные могут принимать только неотрицательные значения:

.

Запишем эту задачу в форме основной ЗЛП. Для этого перейдем от ограничений-неравенств к ограничениям-равенствам. Введем три дополнительные переменные, в результате чего ограничения запишутся в виде системы уравнений:

,

,

.

Эти дополнительные переменные по экономическому смыслу означают неиспользуемое в данном плане производства количество сырья соответствующего типа. Преобразованную систему уравнений запишем в векторной форме:

,

где , , , , , , .

Поскольку среди векторов Рj (j=1…6) при трех ограничениях имеются три единичных вектора, для данной задачи можно непосредственно записать опорный план. Таковым является план . Иначе говоря, х123=0 – свободные переменные, х4=360, х5=192, х6=180 - базисные переменные. Последние образуют базис трехмерного векторного пространства, что делает решение задачи графическим методом невозможным.

Составляем симплекс-таблицу для первой итерации, подсчитываем zj; ∆j; ti и проверяем исходный план на оптимальность.

Таблица 4

Первая симплекс-таблица к задаче 5

i Базис Сб Р0 С1=9 С2=10 С3=16 С4=0 С5=0 С6=0 ti
Р1 Р2 Р3 Р4 Р5 Р6
                     
  Р4                  
  Р5                  
  Р6                  
  zj                  
  j     -9 -10 -16        

 

Прежде всего определяем разрешающий столбец. Так как в строке j есть три отрицательных числа, то проверяемый план не будет оптимальным. Минимальным из них является ∆j = -16, следовательно, разрешающим будет столбец 7. Это означает, что переменную х3 следует перевести из свободных в базисные. Все элементы вектор-столбца Р3 положительные, поэтому рассчитываем ti:

 

, , .

 

Минимальное значение фактора t приходится на базис Р5. Это означает, что переменную х5 следует перевести из базисных в свободные, а на ее место поместить переменную х3. Рассмотрим некоторые аспекты содержания таблицы, которые позволяют конкретизировать физический смысл представленных в ней величин.

Как видно из табл.4, значения всех основных переменных х1, х2, х3 равны нулю (в первом опорном плане это свободные переменные), а дополнительные переменные принимают свои значения в соответствии с ограничениями задачи. Такие значения переменных отвечают “плану”, при котором ничего не производится, сырьевые материалы не используются и значение целевой функции будет нулевым (в таблице z=0 по четвертому столбцу), т.е. выручка от производственной деятельности отсутствует. Этот план, конечно, не является оптимальным. Это видно и из строки 5, так как в ней имеется три отрицательных числа: 1 = - 9, ∆2 = - 10, ∆3 = - 16. Отрицательные числа не только свидетельствуют о возможности увеличения общей стоимости производимой продукции, но и показывают, насколько увеличится эта сумма при введении в план единицы того или иного вида продукции. Так, число -9 означает, что при включении в план производства одного изделия А произойдет увеличение доходной части на 9 руб. Очевидно, что наиболее целесообразно ввести в план изделие С, так как при этом доходная часть будет увеличиваться наиболее динамично (на 16 руб на каждое изделие). Именно этим объясняется решение ввести в базис ту переменную, для которой │∆j│=max.

Находя значения фактора t, получают частное от деления “ресурс/ед.затраты”, т.е. это количество j-го изделия, которое можно было бы изготовить, если весь объем данного ресурса потратить только на это изделие. Например,

 

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

означает, что по второму ресурсу мы могли бы изготовить изделий типа С уже не 30, а всего 24. Соответственно, используя только третий тип ресурса, можно изготовить уже 60 изделий типа С. Становится ясно, сколько максимум изделий типа С можно позволить выпустить – это 24 изделия. В противном случае у нас не хватит второго ресурса. Следовательно, надо в план включать изделие С и в количестве не более 24, т.е. выводить из плана базисный вектор Р5 и принадлежащие ему ресурсы передавать изделию С, а это означает: переменная х3 вводится в базис взамен переменной х5, выводимой в свободные. В результате имеем следующий опорный план

 

.

 

Составим новую симплекс-таблицу, учитывая, что разрешающий столбец – столбец под номером 7, разрешающая строка – строка под номером 2, разрешающий элемент – число 8, лежащее в клетке на пересечении этих строки и столбца.

Таблица 5

Вторая симплекс-таблица к задаче 5

i Базис Сб Р0 С1=9 С2=10 С3=16 С4=0 С5=0 С6=0 ti
Р1 Р2 Р3 Р4 Р5 Р6
                     
  Р4   360-24∙12=72 18-12∙6/8=9 15-12∙4/8=9 12-1∙12=0 1-0∙12=1 0-12∙1/8= -3/2 0-12∙0=0  
  Р3   192/8=24 6/8 4/8     1/8    
  Р6   180-24∙3=108 5-3∙6/8=11/4 3-3∙4/8=3/2 3-3∙1=0 0-3∙0=0 0-3∙1/8= -3/8 1-3∙0=1  
  zj   16∙24=384 16∙6/8=12 16∙4/8=8 16∙1=16   16∙1/8=2    
  j     12-9=3 8-10=-2          

 

В результате конкретизировали второй опорный план:

 

,

 

т.е. из реальных изделий предполагается выпуск только изделия типа С в объеме 24 шт. Очевидно, что и этот план также неоптимален: в строке значений j есть одно отрицательное значение, а именно 2=-2 (т.е. столбец 6 - разрешающий). Значит, в новом плане надо переменную х2 перевести в базис. Все элементы старого базиса Р2 - неотрицательные числа, поэтому по всем строкам (1,2,3) рассчитаны значения фактора t. Минимальное значение t1=8 означает, что из базиса должна быть удалена переменная х4 (т.е. строка 1 - разрешающая строка, тогда разрешающий элемент равен 9) и весь освобождающийся объем сырьевого материала первого вида передается на изготовление второго изделия в объеме 8 шт. Тогда на третьем шаге итерации будем искать план в виде:

 

 

.

В табл. 6 представлены результаты пересчета симплекс-таблицы на третьем шаге итерации. Так как все j≥ 0, то мы имеем оптимальный план:

 

.

 

Функция цели приняла значение Fmax=400 (расположено в ячейке на пересечении четвертой строки и четвертого столбца).

 

Таблица 6

Третья симплекс-таблица к задаче 5

i Базис Сб Р0 С1=9 С2=10 С3=16 С4=0 С5=0 С6=0 ti
Р1 Р2 Р3 Р4 Р5 Р6
                     
  Р2           1/9 -1/6    
  Р3     1/4     -1/18 5/24    
  Р6     5/4     -1/6 -1/8    
  zj           2/9 5/3    
  j           2/9 5/3    

 

Результаты показывают, что оптимальный план производства не должен предусматривать изготовление изделия вида А (причина этого рассматривается ниже), изделий вида В надо выпустить в объеме 8 шт, а изделий вида С – в количестве 20 шт. Полученное значение х6=96 указывает на то, что при анализируемом плане производства будет недоиспользован третий вид сырьевых материалов в объеме 96 ед. Действительно, если подставить значения переменных в первичные ограничения по ресурсам, то получим:

 

,

,

.

 

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

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

 

 

Таблица 7

Обобщенная симплекс-таблица к задаче 5

i Базис Сб Р0 С1=9 С2=10 С3=16 С4=0 С5=0 С6=0 ti
Р1 Р2 Р3 Р4 Р5 Р6
                     
  Р4 Р5 Р6 zjj     -9 -10 -16        
  Р4 Р3 Р6 zjj     6/8 11/4 4/8 3/2 -2     -3/2 1/8 -3/8    
  Р2 Р3 Р6 zjj     1/4 5/4     1/9 -1/18 -1/6 2/9 2/9 -1/6 5/24 -1/8 5/3 5/3    

 

З а д а ч а 6. Найти максимум функции при условиях

,

,

 

,

.

Р е ш е н и е. Систему уравнений задачи запишем в векторной форме:

,

где , , , , , , .

 

Так как при трех ограничениях имеем три единичных вектора (Р3, Р4, Р6), можем сформировать первый опорный план

 

,

 

в котором базисные переменные примут значения: х3=20, х4=24, х6=18. Составим симплекс-таблицу 8 и все дальнейшие расчеты запишем в нее.

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

 

Таблица 8

Симплекс-таблица к задаче 6

i Базис Сб Р0 С1=2 С2= -6 С3=0 С4=0 С5=5 С6=0 ti
Р1 Р2 Р3 Р4 Р5 Р6
                     
  Р3 Р4 Р6 zjj     -2 -1 -2 -2 -1     -12 -5   -
  Р3 Р5 Р6 zjj     -5/3 -1/3 -1 -5/3 -11/3 5/3 -2/3 -9 -10/3 8/3   -1/3 1/3 5/3 5/3      

 

.

На втором шаге итерации при разрешающем элементе 3 пересчитана таблица и опять видим, что данный опорный план также не является оптимальным. Имеем разрешающий столбец 5. Но так как он содержит только отрицательные числа, делаем вывод, что эта задача решения не имеет.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.03 сек.)