
- •С.П. Горбунов применение эвм в решении рецептурно-технологических задач
- •Введение
- •Экспериментальных данных
- •1.1. Ошибки эксперимента
- •1.2. Типы ошибок измерений
- •1.3. Распределение случайных ошибок измерения
- •1.4. Оценка истинного значения измеряемой случайной
- •1.5. Определение грубых ошибок
- •1.6. Доверительный интервал оценки измеряемой случайной величины
- •1.7. Сравнение средних значений
- •1.8. Определение необходимого числа повторов опыта
- •2. Математическое планирование эксперимента
- •2.1. Основные понятия и определения
- •1. Шесть факторов на двух уровнях каждый;
- •2. Три фактора на четырех уровнях каждый.
- •2.2. Параметр оптимизации
- •2.3. Факторы
- •2.4. Выбор математической модели
- •Выбор математической модели
- •2.6. Полный факторный эксперимент
- •2.7. Выбор области факторного пространства
- •2.8. Выбор основного (нулевого) уровня
- •2.9. Выбор интервалов варьирования факторами
- •2.10. Кодирование факторов
- •2.11. Составление план – матрицы эксперимента
- •2.12. Рандомизация опытов
- •2.13. Реализация эксперимента
- •2.14. Проверка воспроизводимости опытов план – матрицы
- •2.15. Расчет коэффициентов полного факторного эксперимента. Эффекты взаимодействия. Смешанные оценки
- •2.16. Оценка значимости коэффициентов регрессии
- •2.17. Проверка адекватности математической модели
- •2.18. Построение математических моделей планов 2-го и выше порядков
- •3.1. Постановка задач линейного программирования
- •3.2. Графические решения двумерных задач
- •3.3. Стандартная форма задач линейного программирования
- •3.4. Основные результаты линейного программирования
- •3.5. Симплекс – метод при заданном допустимом базисном решении
- •3.6. Обобщение результатов линейного программирования
- •3.7. Транспортная задача
- •Приложения
3.6. Обобщение результатов линейного программирования
Предположим, что начальная каноническая форма задана уравнениями, в которых ограничения преобразованы таким образом, что X1,...,Xn последовательно выражаются через b и остальные Xi. Это можно записать в виде
X1+...…..a'1(m+1)X(m+1)+...+a'1nXn=b'1 (43)
Xm+a'm(m+1)X(m+1)+...+a'mnXn=b'n
Если умножить ограничения системы (43) на с1, с2,...,сm и вычесть из Z, то X1,...,Xm исключаются из Z и мы получим
c'm+1Xm+1+c'm+2Xm+2+...+c'nXn=Z–Zo, (44)
где
m
Zo= ci*bi. (45)
i=1
Если Xm+1,Xm+2,...,Xn=0, то соотношения X1=b'1, X2=b'2, Xm+1=0, Xn=0 задают базисное решение. Если же при этом все b'i≥0 – это решение допустимо. Среди таких решений надо найти оптимальное. Симплекс-метод обеспечивает процедуру замены одной канонической формы на другую, при которой значение целевой функции уменьшается. В виде симплекс таблиц уравнения (43)-(45) приведены ниже.
Таблица 13
Итерация |
Базис |
Значение |
X1 |
X2 |
Xr |
Xm |
Xm+1 |
Xn
|
0 |
X1 X2 Xr Xm |
B’1 B’2 B’r B’m |
1 * * * |
* 1 * * |
* * 1 * |
* * * 1 |
A’1(m+1) A’2(m+1) A’r(m+1) A’m(m+1) |
A’1n A’2n A’rn A’mn |
–Z |
–Z’c |
* |
* |
* |
* |
C’m+1 |
C’n |
Итерационный процесс состоит из трех шагов.
Найти переменную для включения в базис.
Таковой будет небазисная переменная, для которой с'j≤0 (лучше максимальная по модулю с'j. Пусть это будет с'm+1.
2. Найти переменную для исключения из базиса.
Для этого необходимо найти ответ на следующий вопрос: насколько можно увеличивать Xm+1, не нарушая условия неотрицательности базисных переменных? Если в i-том ограничении a'(m+1)>0, то наибольшее значение, которое может принимать Xm+1 равно b'i/a'i(m+1), иначе переменная Xi станет отрицательной. Таким образом значение Xm+1 может быть увеличено до величины {max}Xm+1={min}(b'i/a'1(m+1)) при i=1...m, a'i(m+1)>0. Если этот минимум достигается в строке r, то Xr обращается в ноль, когда Xm+1= b'r/a'r(m+1). Элемент a'r(m+1) называется ведущим элементом, строка r – ведущая строка, столбец m+1 – ведущий столбец.
3. Построение новой канонической формы.
Теперь получили новый базис X1, X2, Xm, Xm+1. Чтобы построить новую каноническую форму, коэффициент при Xm+1 в ведущей строке сделаем равным единице, поделив строку на ar(m+1), чтобы образовать новую ведущую строку. Затем удалим Xm+1 из других ограничений целевой функции. Для этого из i строки (i≠r) с коэффициентом a'r(m+1) при Xm+1 вычтем a'r(m+1) (новая ведущая строка).
На очередной итерации каноническая форма будет выглядеть следующим образом табл.14)
Таблица 14
Итерация |
Базис |
Значение |
X1 |
X2 |
Xr |
Xm |
Xm+1 |
Xn |
K+1 |
X1 X2 Xm Xm+1 |
B+1 B+2 B+m B+m+1 |
1 * * * |
* 1 * * |
A+1r A+2r A+mr A+(m+1)r |
* * 1 * |
* * * 1 |
A+1n A+2n A+mn A+(m+1)n |
–Z |
–Z’c |
* |
* |
C+r |
* |
* |
C +n |
Теперь, построив новую каноническую форму, необходимо вернуться к первому шагу итерационного процесса и вновь повторить вычислительную процедуру, выбрав отрицательное значение С+j. Итерационный процесс продолжается до тех пор, пока все cj не станут положительными. Это означает, что минимум целевой функции достигнут.
Покажем работу алгоритма на упражнении № 9. В стандартной форме ограничения и целевая функция выглядят следующим образом.
Минимизировать функцию
– 6X1–2X2=Z (46)
при ограничениях
X1, X2, X3, X4>=0, (47)
2X1+4X2+X3=9, (48)
3X1+X2+X4=6. (49)
Последовательность итераций с комментариями решения приводится в табл. 15.
Таблица 15
-
Итерация
Базис
Значение
X1
X2
X3
X4
0
X3
X4
9
6
2
30
4
1
1
*
*
1
–Z
0
–6
–2
*
*
1
X3
X1
5
2
*
1
10/30
1/3
1
*
–2/3
1/3
–Z
12
*
0
*
2
2
X1
X2
3/2
3/2
1
*
*
1
–1/10
3/10
4/10
–2/10
–Z
12
*
*
0
2
Начальный базис очевиден: X1=X2=0; X3=9; X4=6. Желательной переменной для включения в базис является X1, так как для этой переменной значение коэффициента c1 в выражении целевой функции имеет максимальную отрицательную величину. При этом ведущим будет столбец с номером 1, ведущей строка с номером 2; значение коэффициента a21=3. Для включения в базис X1 разделим ведущую строку на 3, получим Х1+1/3Х2+1/3Х4=2. Исключим X1 из ограничения (48) и целевой функции (46), умножив Х1+1/3Х2+1/3Х4=2 на 2 и (–6) и вычтем соответственно полученные уравнения из ранее упомянутых. Получим, соответственно, новые выражения ограничения и целевой функции (табл. 15, итерация 1). В целевой функции коэффициент С4 имеет положительное значение, коэффициент С2 равен нулю, то есть включение X2 в базис не имеет смысла, так как это не уменьшит значение целевой функции. Покажем это на примере следующей итерации. Предлагаем читателю самостоятельно получить выражения ограничений и целевой функции для второй итерации. Значение целевой функции не изменилось. Если сравнить полученные результаты с рис. 9 для графического решения данного упражнения, то легко убедиться, что первая итерация соответствует точке С, вторая – точке В.