
моделирование / Lab_No6
.pdfЛабораторная работа №6.
Решение оптимизационных задач с использованием модели
оназначении.
6.1.Цель работы
Построение и решение специальной модели линейного программирования (модели о назначении )
6.2.Задание на лабораторную работу.
Найти решение задачи оптимизации с использованием модели о назначении линейного программирования.
6.3.Порядок выполнения работы.
При синтезе и анализа информационных процессов и объектов оптимизационные задачи возникают в связи с многочисленностью возможных вариантов функционирования конкретного информационного объекта , когда возникает ситуация выбора варианта, наилучшего по некоторому правилу, критерию, характеризуемому соответствующей целевой функцией.
Рассмотрим пример задачи о назначении, как специальной задачи линейного программирования, используемые в качестве математической модели оптимизации информационного объекта .

Пример. Фирма объединяет 5 предприятий, каждое из которых производит 3 вида изделий. Производительность каждого предприятия при изготовлении одного изделия (в денежных единицах) характеризуется следующей таблицей:
Предприятия |
|
Изделия |
|
|
|
|
|
|
1 |
2 |
3 |
|
|
|
|
1 |
15 |
6 |
12 |
2 |
6 |
9 |
13 |
3 |
8 |
11 |
2 |
4 |
7 |
13 |
6 |
5 |
4 |
9 |
12 |
Учитывая необходимость специализации каждого предприятия только по одному изделию, распределить производство изделий по предприятиям так, чтобы суммарная производительность фирмы при этом распределении была максимальной. Проверить правильность полученного результата, решив задачу, используя венгерский метод.
Составим математическую модель задачи.
Чтобы сформулировать задачу о назначениях математически, введем переменную величину x y , отражающую факт специализации предприятия на
производстве изделий:
x y = 10,,
1 – если на i-м предприятии выпускают j-ое изделие; 0 – в противном случае.

Задача примет вид:
|
|
|
|
|
|
|
|
n |
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Целевая функция = |
|
|
|
С y |
x y |
max |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
i 1 |
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 x |
1 1 |
6 x |
1 2 |
12 x |
13 |
6 x |
2 1 |
9 x |
22 |
13 x |
23 |
8 x |
3 1 |
11 x |
32 |
2 x |
3 3 |
7 x |
41 |
13 x |
42 |
6 x |
4 3 |
4 x |
51 |
9 x |
12 x |
max |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 2 |
5 3 |
|||||||||||||
x11 |
|
x12 |
|
x13 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x21 |
|
x22 |
|
x23 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x31 |
|
x32 |
|
x33 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x41 |
|
x42 |
|
x43 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x51 |
|
x52 |
|
x53 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x11 |
|
x21 |
|
x31 |
x41 |
x51 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x21 |
|
x22 |
|
x23 |
x24 |
|
x25 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x31 |
|
x32 |
|
x33 |
x34 |
x35 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Чтобы решить задачу (получить оптимальный план назначения), сначала нужно ввести значения исходной матрицы производительности и зарезервировать ячейки для результата (оптимального плана назначения).
Исходные данные:
Предпр. |
|
Изделия |
|
|
|
|
|
|
1 |
2 |
3 |
1 |
15 |
6 |
12 |
2 |
6 |
9 |
13 |
3 |
8 |
11 |
2 |
4 |
7 |
13 |
6 |
5 |
4 |
9 |
12 |
Оптимальный план назначения

Так как в заданной матрице производительности m n , то добавляем к ней два столбца нулей (выделены жёлтым). Затем резервируем ячейки для целевой функции и добавочных ограничений (выделены рыжим, бирюзовым и голубым цветами), причем ЦФ записывается как СУММПРОИЗВ, а ограничения – как СУММ (сумма значений либо по строке – голубой, либо по столбцу – бирюзовый цвет).
Исходные данные:
Предпр. |
|
|
Изделия |
|
|
|
|
1 |
2 |
|
3 |
|
|
1 |
15 |
6 |
|
12 |
0 |
0 |
2 |
6 |
9 |
|
13 |
0 |
0 |
3 |
8 |
11 |
|
2 |
0 |
0 |
4 |
7 |
13 |
|
6 |
0 |
0 |
5 |
4 |
9 |
|
12 |
0 |
0 |
Условные обозначения:
Исходная матрица производительности
добавленные столбцы нулей, чтобы матрица стала (5x5)
ограничение сумм коэффициентов по строкам

ограничение сумм коэффициентов по столбцам
значение целевой функции
оптимальный план назначения (результирующая матрица)
Оптимальный план назначения
0
0
0
0
0
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЦФ |
0 |
|
|
|
|
|
|
|
|
Вводим формулу СУММПРОИЗВ(C6:G10,B14:F18) (в ячейку целевой функции E$22) и ограничения в ячейки B$19:F$19 и G$14:G$18.
Ограничения такие: суммы по строкам и суммы по столбцам оптимального плана назначения должны быть равны 1.

Исходные данные:
Предпр. |
|
|
Изделия |
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
|
|
|
|
|
|
|
|
1 |
15 |
6 |
12 |
0 |
0 |
2 |
6 |
9 |
13 |
0 |
0 |
3 |
8 |
11 |
2 |
0 |
0 |
4 |
7 |
13 |
6 |
0 |
0 |
5 |
4 |
9 |
12 |
0 |
0 |
|
|
|
|
|
|
После ввода всех ограничений нажимаем Выполнить, получаем результат поиска решения:

Сохраняем результат. Получаем решенную задачу.
Проверка результата расчёта венгерским методом.
15 |
6 |
12 |
0 |
0 |
0 |
7 |
1 |
0 |
0 |
1 0 |
0 |
0 |
0 |
6 |
9 |
13 |
0 |
0 |
9 |
4 |
0 |
0 |
0 |
0 0 |
1 |
0 |
0 |
8 |
11 |
2 |
0 |
0 |
7 |
2 |
11 |
0 |
0 |
0 0 |
0 |
1 |
0 |
7 |
13 |
6 |
0 |
0 |
8 |
0 |
7 |
0 |
0 |
0 1 |
0 |
0 |
0 |
4 |
9 |
12 |
0 |
0 |
11 4 |
1 |
0 |
0 |
0 0 |
0 |
0 |
1 |
|
max 15 |
13 |
13 |
|
0 0 |
|
|
|
|
|
|
|
|
К заданной матрице производительности приписываем два столбца нулей, выбираем максимальный элемент по каждому столбцу (15, 13, 13, 0, 0) вычитаем из него все другие элементы столбца. Получаем матрицу, в которой выделяем систему независимых нулей ( 0 ). Так как число независимых нулей равно порядку матрицы, то после первой же итерации задача решена. Независимые нули заменяются единицами, а все остальные элементы – нулями. Получили оптимальный план назначения.

Вывод.
При решении задачи в EXCEL и при проверке результата расчёта с использованием венгерского метода решения задачи о назначениях получили одинаковые ответы, что свидетельствует о том, что задача решена верно. Из полученного оптимального плана назначения следует, что первое предприятие должно производить первое изделие, второе предприятие – третье изделие, четвертое предприятие – второе изделие.
Варианты заданий:
1.На пяти токарных станках различных типов можно выполнять пять операций по обработке детали. При этом за каждым из станков может быть закреплена лишь одна операция и одна и та же операция может выполняться только одним станком. Зная время выполнения каждой из операций на каждом из станков, которое задается матрицей С составить такое распределение выполняемых операций между станками, при котором суммарные затраты времени на обработку детали являются минимальными.
2 |
4 |
6 |
8 |
3 |
|||
1 |
3 |
2 |
7 |
6 |
|||
C= 7 |
2 |
4 |
5 |
8 |
|||
9 |
1 |
3 |
4 |
6 |
|||
|
|
3 |
2 |
1 |
4 |
5 |
|
|
|
|
|
|
|
|
|
2. На заводе имеется 4 станка, которые могут выполнять три вида работ. Каждую работу может единовременно выполнять только один станок и каждый станок можно загрузить только одной работой. Матрица затрат времени при выполнении i-тым станком
k-ой работы (i= 1, 2, 3, 4; k= 1, 2, 3) имеет вид:
12 6 9
8 7 3
C=
5 4 6
9 10 8
3.Фирма объединяет три предприятия, каждое из которых производит три вида изделий. Производительность каждого предприятия при изготовлении одного изделия (в денежных единицах) характеризуется следующей таблицей:
|
|
Изделия |
|
|
15 |
6 |
12 |
Предприятия |
6 |
11 |
13 |
|
8 |
9 |
2 |
|
|
|
|
Учитывая необходимость специализации каждого предприятия только по одному изделию, распределить производство изделий по предприятиям так, чтобы суммарная производительность фирмы при этом распределении была максимальной.
4.Фирма объединяет пять предприятий, каждое из которых производит три вида изделий. Производительность каждого предприятия при изготовлении одного изделия (в денежных единицах) характеризуется следующей таблицей:
|
|
Изделия |
|
|
|
|
|
|
15 |
12 |
12 |
Предприятия |
13 |
9 |
13 |
|
8 |
11 |
2 |
|
7 |
12 |
5 |
|
4 |
9 |
9 |
Учитывая необходимость специализации каждого предприятия только по одному изделию, распределить производство изделий по предприятиям так, чтобы суммарная производительность фирмы при этом распределении была максимальной.

5.Имеется 5 видов сырья и 5 различных предприятий, перерабатывающих это сырье.
|
|
|
3 |
9 |
92 |
5 |
|
|
|
4 |
5 |
16 |
3 |
|
|
|
8 |
4 |
57 |
2 |
Задана матрица C= |
|
= |
1 |
2 |
43 |
7 , |
C ik |
||||||
|
|
|
7 |
4 |
38 |
2 |
где C ik характеризует прибыль, получаемую при переработке i-го вида сырья.
Определить оптимальное распределение сырья между предприятиями, максимизирующее суммарную прибыль, если каждое предприятие по условиям технологического процесса может работать только на одном виде сырья и каждый из видов сырья вследствие ограниченности его запасов можно использовать только на одном предприятии.
Контрольные Вопросы?
1.) Постановка и математическая модель (в матричной или скалярной форме) задачи оптимального распределения ресурсов.
2.) Постановка и математическая модель (в матричной или скалярной форме) транспортной задачи.
3.) Постановка и математическая модель (в матричной или скалярной форме) задачи о назначениях.
4.) Опишите технологию решения задач линейного программирования средствами EXCEL.