Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
21.05.2015
Размер:
121.23 Кб
Скачать

Лабораторная работа № 8 Задача о назначениях.

1 Постановка задачи о назначениях и ее модель.

Предпосылкой для постановки этой задачи является распределение работников с разной квалификацией для выполнения определенного вида работ. В общем случае число работников m≠n (числу видов работ). Исходным данным задачи о назначениях является стоимости выполнения каждым работником определенного вида работы. Общая стоимость выполнения всех работ определяется как сумма произведений элементов матрицы стоимости С на элементы матрицы назначений X

х11

х12

х13

х1n

х21

х22

х23

х2n

хm1

хm2

хm3

хmn


Х=

с11

с12

с13

с1n

с21

с22

с23

с2n

сm1

сm2

сm3

сmn


С=

Если i-ый работник назначается на j-ю работу, то значение соответствующего элемента матрицы назначения равно 1 и равно о если не назначается.

Матрица назначений, таким образом, представляет собой матрицу, состоящую из m-строк и n-столбцов, в которой в каждой строке и в каждом столбце может быть только одна единица.

Сумма затрат на выполнение работ равна сумме парных произведений элементов матриц С и Х.

Модель имеет вид:

Ограничения:

2 Пример решения задачи о назначениях

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

1-я

бригада

2-я

бригада

3-я

бригада

4-я

бригада

5-я

бригада

1-й объект

6

7

8

7

6

2-й объект

9

8

7

6

5

3-й объект

7

8

7

8

6

4-й объект

9

8

9

8

5

5-й объект

5

6

7

8

9

Решение:

Сформулируем экономико-математическую модель задачи.

Обозначим через Хij назначение i-й бригады на j-ой объект. причем если i-я бригады назначена на j-й объект, то Хij=1, иначе Хij=0. Так как заданное количество человеко-дней Xij то общее количество человеко-дней составит сijxij.

Таким образом, математическая модель задачи о назначениях имеет следующий вид.

- целевая функция

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

  1. Создание формы для решения задачи.

Создаем матрицу назначений, для этого резервируем изменяемые ячейки. В блок ячеек С5:G9 введем исходные данные, а в блоке ячеек С14:G18 - резервируется место, где после решения задачи будет находиться распределение бригад, обеспечивающее минимальное количество человеко-дней.

2. Ввод исходных данных. В нашем примере требуется расставить 5 рабочих по технологической цепочки.

3. Ввод граничных условий.

3.1. Водим условия ограничений

на каждый объект назначается одна бригада

В ячейку С19 вводим формулу суммирования =СУММ(C14:C18) и копируем ее до ячейки G19

Исходные данные

3.2. Вводим условия ограничений

- каждая бригада назначается на один объект

В ячейку H14 вводим формулу суммирования =СУММ(C14:G14) и копируем ее до ячейки H18.

4. Назначение целевой функции.

Для вычисления значения целевой функции, соответствующей минимальному количеству человеко-дней введем в ячейку E21. формулу =СУММПРОИЗВ(C5:G9;C14:G18) для ее вычисления. В задаче целевая функция представляет собой произведение элементов исходной матрицы (расположенных в блоке ячеек C5:G9) и зарезервированной матрицы (содержимое ячеек C14:G18). В поле ячейки E21 появится некоторое числовое значение, равное произведению элементов двух матриц (рис.7).

Ввод формулы для целевой функции

5. Ввод зависимостей из математической модели и Поиск решения

Поиск решения

6. Ввод ограничений задачи.

В матрице назначений, содержащую исходные данные по задаче, необходимо ввести условие распределения объектов по бригадам (Рис 9).

Все объекты должны быть распределены по бригадам

Далее вводим ограничение, которое реализует условие назначения бригад на объекты (Рис. 10).

Диалоговое окно

7. Ввод параметров

С помощью окна Параметры вводим условия для решения оптимизационных задач. В нашей задаче устанавливаем флажок Неотрицательные значения и флажок Линейная модель.(Рис.11)

Параметры

Нажимаем кнопку OK, появляется диалоговое окно Поиск решения. Жмем кнопку Выполнить. На экране появится диалоговое окно Результаты поиска решения (Рис. 12).

Диалоговое окно Результаты поиска решения

Решение задачи:

Решение задачи

В результате мы получили оптимальный план назначений (Рис. 13).

Х51=1 - рабочий 5 назначена на 1;

Х43=1 - рабочий 4 назначена на 5;

Х24=1 - рабочий 2 назначена на 4;

Х35=1 - рабочий 3 назначена на 3;

Х16=1 - бригада 1 назначена на 2;

Общее количество человеко-дней = 30.

3.Задача для самостоятельного решения

Распределить 4-х работников на 4-е работы при заданной матрице стоимостей.

 

 1

 2

 3

 4

 1-я работа

12

7

7

12

2-я работа

10

9

6

10

 3-я работа

9

10

7

9

 4-я работа

11

8

8

11

Соседние файлы в папке Компьютерное моделирование