Автоматихация производства ЭВА (1075779), страница 29
Текст из файла (страница 29)
Требуется покрыть её микросхемами 1ЛБ1011 и 1ЛБ1012. Пусть m — количество типов ЛЭ, i — номер типа ЛЭ. Обозначим n — число типов корпусов.
В общем случае логическая схема содержит bi логических элементов i-го типа (в нашем случае b1=5, b2=2).
B — вектор состава ЛЭ схемы, B=(b1, b2)=(5; 2).
При переходе от логической схемы к принципиальной необходимо все элементы распределить по k корпусам. В общем случае в корпусе j-го типа могут находиться логические элементы либо одного, либо двух типов.
Обозначим число логических элементов i-го типа в корпусе j-го типа Aij, и построим матрицу состава корпусов: .
Требуется покрыть вектор B, взяв xj корпусов j-го типа так, чтобы общее число корпусов K было минимально. Целевая функция в таком случае принимает вид:
Вектор B вводит естественное ограничение на функцию цели:
В противном случае, какой-либо ЛЭ останется вне корпуса.
Функция K линейна относительно xj, поэтому задача называется задачей линейного программирования.
Для решения отбросим сначала требования целочисленности решения. После получения дробного результата рассмотрим все возможные дискретные точки в плоскости X1OX2.
Функция цели для данного примера: .
Сформулируем ограничения для данной задачи.
-
Исходная логическая схема содержит 5 ЛЭ 1-го типа. Если взять x1 корпусов 1-го типа и x2 корпусов 2-го типа, то они дадут 2x1+x2 ЛЭ данного типа. Тогда 2x1+x25. Аналогично, для ЛЭ 2-го типа имеем x22.
-
Решаем задачу графически. Строим область допустимых значений в плоскости X1OX2.
Функция K линейно увеличивается. В данном случае линия решений K пересекает область допустимых решений в точке A(1,5; 2). Т.к. мы получили дробный результат, то исследуем ближайшие целочисленные варианты:
x1=1, x2=3
x1=2, x2=2
Оба варианта эквивалентны по числу корпусов, но число незадействованных выводов в первом случае — k1=4, а во втором — k2=3.
Пример № 2:
Пусть фирма планирует произвести 2 вида плитки: х1 голубой и х2 обычной тонн. Для получения прибыли z(x1,x2). Если прибыль от одной цветной плитки составляет 3$, а от обычной 2$.
Тогда z(x1,x2)=3x1+2x2 – целевая функция.
Возможность получения максимального z ограничивают ресурсы предприятия:
tm = 10 ч.- время работы оборудования;
tn = 24 ч. – время работы персонала;
q = 8 литров – объём голубой краски.
При производстве 1 голубой плитки оборудование работает 2 часа, персонал работает 3 часа, расходуется три литра голубой краски.
При производстве 1 белой плитки: 1час работы оборудования, 2 часа персонала и 0 литров краски.
Формальное ограничение ресурсов:
Каждая пара (x1, x2) удовлетворяющая этим ограничениям называется допустимым решением (программой).
z=3x1+2x2max
Рассмотрим графическое решение задачи:
Изобразим все прямые, задаваемые ограничениями.
С области допустимых решений.
-
z=12
Решение графическим методом. Найти, перемещая линию, параллельную самой себе до точки А.
Проверкой убеждаемся, что оптимальное решение находиться в узле А, в котором все ресурсы. кроме краски исчерпаны.
Сущность метода.
Метод даёт аналитические решения для задач нелинейного программирования.
-
Преобразуем неравенства ограничения в равенства, введением переменных у1,…,у3.
2х1+х2+у1=10
3х1+3х2+у2=24
2х1+0х2+у3=8
Примечание: другими переменными можно пренебречь., так как перед началом производства x1=х2=0, то есть у1=10, у2=24, у3=8.
Полученное таким образом решение называется начальным допустимым решением, дающим нулевую прибыль.
-
Полученное допустимое решение сводим в симплекс таблицу.
j-ий столбец | ||||
i-ая строка | х1 | х2 | ресурсы | Обозначение ресурсов |
2 | 1 | 10(2) | у1 (машинное время) | |
3 | 3 | 24(12) | у2 (рабочее время) | |
2 | 0 | 8(0) | у3 (краска) | |
3 | 2 | 0(12) | -z (прибыль) |
Первые три строки – матричная форма записи исходной системы уравнений.
Последняя строка – прибыль. Начальное решение представлено последними двумя столбцами.
Это решение можно улучшить производством плиток одного из двух типов.
Из первой строки видно, что наличное машинное время ограничивает производство плиток первого типа количеством 5 тонн. Аналогично вторая и третья строки ограничивают производство восемью и четырьмя тоннами.
Элемент, стоящий х1 и у3 называется ограничивающим элементом (центр).
Поменяем местами х1 и у3 и получим новое решение, в котором х1=4, а х2=0. Эта операция потребует 8 часов машинного времени, 12 часов рабочего времени и краски.
z=12
Замена переменной у3 на х1 выполнена из последнего (центрального) уравнения.
х1=4-0,5у3
Подставим это в первое и третье уравнения целевую функцию и получим следующую СЛАУ:
Составляем новую таблицу:
у3 | х2 | Ресурсы |
-1 | 1 | 2 у1 |
-1,5 | 3 | 12 у2 |
0,5 | 0 | 4 х1 |
-1,5 | 2 | -2 z |
Элементы, стоящие во втором столбце показывают, что для производства одной тонны плитки второго типа потребуется один дополнительный час машинного времени, 3 часа рабочего и это не приведёт к сокращению производства плитки первого типа. Доход от такого производства составит 2.
Первый столбец показывает, что для экономии одного 1 литра краски нужно использовать 1 час машинного времени и 1,5 часа рабочего времени и всё это приведёт к сокращению производства плиток первого типа на 0,5 тонны и уменьшению прибыли на 1,5.
Воспользуемся данными, приведёнными во втором столбце (см. график, линия DB).
-
Выбираем центр, который удовлетворяет трём следующим условиям:
-
центр находится в столбце, последний элемент которого положителен.
-
центр должен быть ненулевым.
-
центр является наименьшим положительным числом, которое получается при делении чисел, стоящих в последнем столбце на соответствующие числа в центральном столбце.
-
Образуем величину, обратную центру (1/центр), и в симплекс таблице заменяем центр на b.
Получаем новые элементы центральной строки, упрощая её элементы на b.
Определяем элементы центрального столбца, умножив соответствующие элементы на b.
Приходим к следующей симплекс таблице (b=1/2)
у3 | х2 | Ресурсы |
-1 | 1 | 2 у1 |
-1,5 | 3 | 12 у2 |
0,5 | 0 | 4 х1 |
-1,5 | 2 |
dij – элемент, лежащий на позиции (i,j) в таблице.
Четвёртая итерация решения выполняет следующие шаги:
-
В исходной таблице находим центр: он лежит в том столбце, в котором –z>0.
Если таких столбцов несколько, то в том, в котором частное от деления ri/dij минимально.
10/2=5;
24/3=8;
8/2=4 — минимум;
10/1=10;
24/3=8;
8/0=∞.
Обозначим центр буквой О=d13=2.
-
Формируем новую симплекс таблицу в следующем порядке:
а) Образуем величину, обратную центру b=1/O=0,5.
б) Выполняем обмен переменных на местах которыми стоит центр (в этом примере у3х1) и записываем на месте новой строки и столбца величину b.
в) Переписываем все элементы центральной строки пр. самого центра из старой строки симплекс таблицы в новую, попутно умножая их на b.
у3 | х2 | Ресурсы |
0,5 | 0 | 4=8·0,5 х1 |
г) Обозначим элементы новой центральной строки через pj.
p1=b; p2=0; p3=4.
д) Вычисляем остальные элементы центрального столбца, попутно умножая их на b.
qi – новый элемент центрального столбца, ~qi – старый.
qi=~qi(-b)
у3 | х2 | Ресурсы |
-1 | d12 | d13 y1 |
-1,5 | d22 | d23 y2 |
0,5 | 0 | 4 х1 |
-1,5 | d42 | d43 z |
~q1=2; ~q2=3; ~q4=3.