Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ИО.doc
Скачиваний:
4
Добавлен:
01.09.2019
Размер:
2.32 Mб
Скачать

Министерство образования Украины

Национальная горная академия Украины

Методические указания

к выполнению лабораторных работ

по дисциплине

«Исследование операций»

Днепропетровск

2000

Министерство образования Украины

Национальная горная академия Украины

Методические указания

к выполнению лабораторных работ

по дисциплине

«Исследование операций»

Утверждено

На заседании кафедры управления в технических системах

П ротокол №

Днепропетровск

2000

Лазорин Анатолий Иванович

Одновол Николай Николаевич

Дмитриев Валерий Иванович

Методические указания к выполнению лабораторных работ по дисциплине «Исследование операций»

Компьютерную верстку и оригинал-макет выполнил

Завгородний Вячеслав

Ответственный за выпуск зав. кафедрой управления в технических системах В. В. Слесарев, д.т.н, профессор.

Лабораторная работа.

Тема: Распределительные задачи

Задача о назначении

(Экстремальная задача комбинаторного вида)

1.1. Цель работы: Приобретение практических навыков применения теоретических положений задачи о назначении для ее формализации, обоснования метода и решения с применением ЭВМ.

2.2. Общие положения

2.1. Постановка задачи.

В задаче о назначении имеется n-видов работ (объектов) и n-видов исполнителей (оборудование). Известны затраты (средств , времени и т.д.). Сij (i,j=1,2, ..,n),возможные при выполнении и i-ым исполнителем j-ой работы , представленные в виде матрицы затрат.

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

Это типичная экстремальная задача комбинаторного вида. Решение ее методом прямого перебора не целесообразно , т.к. число возможных вариантов составляет N = n! . Поэтому для ее решения применяются оптимальные методы, один из которых - венгерский метод.

2.2. Построение математической модели и критерий оптимизации.

Введем переменные Xij (i,j = 1,2,...,n), имеющие следующий смысл:

1 , если i-ый исполнитель

Xij = распределяется на j-работу; (2.1)

0, в противном случае.

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

Для данной задачи можно записать

X ij=Xi1+Xi2+…+Xin =1 , для всех i =1,2,...,n

(2.2)

Xij=Xj1+Xj2+…+Xjn =1 , для всех i =1,2,...,

Критерий оптимизации – оптимизация суммарных затрат будет иметь вид:

Z=С11*X11+С12*X12+...+Сij*Xij = Cij*Xij min (2.3)

2.3.Алгоритм метода решения – решение венгерским методом.

Метод включает преобразование таблиц, в которых по строкам расположены виды исполнителей Ai и затраты Сij необходимые им для выполнения данных видов работ , а по

столбцам – виды работ Bj необходимые затраты Cij каждому исполнителю. Пример исходной таблицы представлен в виде таблицы 2.1.

Таблица 2.1.

Ai

B1

B2

.

Bn

Ai

Di

A1

C11

C12

.

C1n

1

C1i

Min

A2

C21

C22

.

C2n

1

C2i

Min

.

.

.

.

.

.

.

An

Cn1

Cn2

.

Cnn

1

Cni

Min

Bj

1

1

.

1

Где Аi и Вj – вспомогательные числа Di – минимальный элемент в строке (в столбце)

Алгоритм метода включает следующие этапы:

2.3.1.Получение нулей в каждой строке;

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

2.3.2.Поиск оптимального решения;

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

2.3.3. Поиск минимального набора строк и столбцов содержащих нули;

для этого необходимо отметить (точкой):

а) все строки, в которых не имеется ни одного отмеченного точкой нуля;

б) все столбцы, содержащие перечеркнутый нуль, хотя бы в одной из помеченных точкой строк;

в) все строки, содержащие отмеченные точкой нули хотя бы в одном из отмеченных точкой столбцов;

г) действия Б) и В) повторяют до тех пор, пока есть что отмечать;

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

2.3.4. Перестановка некоторых нулей;

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

2.3.5. При максимизации критерия оптимизации

Z max

исходная матрица затрат (прибыли) M[c1,j] учитывается условие

Zmax= -Zmin

т. е. исходная матрица затрат (прибыли) представляется в виде

MM[ci,j]=M[-ci,j]

и далее расчеты выполняються аналогично приведенному.