Смекни!
smekni.com

Принятие проектных решений в задачах производственного и операционного менеджмента (стр. 2 из 4)

Если имеется больше должностей, чем работников (кандидатов), компьютер также должен увеличить матрицу, чтобы она стала квадратной. Предположим, что имеется 6 должностей и только 4 работника (кандидата). Компьютер дополнит матрицу до размера 6*6, как показано в таблице 4. Заметим, что работники 5 и 6 являются фиктивными и стоимости назначений для фиктивных работников полагаются равными нулю.

Таблица 3. Расширенная матрица назначений - 4 должности для 5 кандидатов

Должности
1 2 3 4 5
1 16 9 14 17 0
Канди- 2 7 19 8 14 0
даты 3 15 6 9 10 0
4 19 17 11 4 0
5 14 11 18 16 0

Замечание: Ячейки содержат стоимости назначений.

Таблица 4. Расширенная матрица назначений - 6 должностей для 4 кандидатов

Должности
1 2 3 4 5 6
1 16 9 14 17 8 11
Канди- 2 7 19 8 14 13 18
даты 3 15 6 9 10 17 5
4 19 17 11 4 9 14
5 0 0 0 0 0 0
6 0 0 0 0 0 0

ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ПОДСИСТЕМЫ "МЕТОД НАЗНАЧЕНИЙ" ПРОГРАММЫ DSSPOM

ПРИМЕР 1 - ЗАДАЧА НАЗНАЧЕНИЯ РАБОТНИКОВ НА ДОЛЖНОСТИ

В этом примере используется программа назначений для решения задачи назначения работника на должность. Цель - назначить четыре должности четырем работникам так, чтобы минимизировать суммарную стоимость назначений. Стоимости назначений для этой задачи представлены в таблице 1.

Загрузите программу DSSPOM в компьютер и выберите Assignment Method в главном меню. Через несколько секунд компьютер загрузит программу назначений и высветит Assignment Menu. Передвиньте указатель на опцию INPUT и нажмите клавишу <ENTER>. Программа приступит к вводу данных, запрашивая ввод заголовка задачи. Выберите заголовок, который Вы считаете подходящим, м введите его в поле заголовка задачи. Нажмите <ENTER>, чтобы ввести следующий параметр.

Следующим входным параметром является "тип цели". Так как задача состоит в назначении должностей работникам и поэтому содержит стоимости, целью является минимизация стоимости. Напечатайте MIN и нажмите <ENTER> для продолжения. Заметим, что в это поле программа может принять только "MIN" или "MAX". Никакие другие значения не принимаются и поэтому программа в случае неправильного ввода не сможет продолжить выполнение. Во время ввода данных при помощи нажатия клавиши "Стрелка вверх" можно вернуться к предыдущему полю, чтобы исправить его значение.

Для продолжения ввода данных нажмите клавишу "Стрелка вправо" и напечатайте "4" для количества кандидатов. Нажмите <ENTER>, чтобы ввести количество должностей. Нажмите клавишу "Стрелка вправо", напечатайте "4" и нажмите <ENTER>. Максимальная размерность задачи - 30 на 30, стоимости назначений должны быть в диапазоне от 0 до 9999. Заполненный экран исходных данных показан ниже.

Problem title: JOB CONTRACT
Objective type (MIN/MAX): MIN
Number of candidates (rows): 4
Number of jobs (columns): 4
Enter problem parametrs as requested. Press RETURN toaccept, or ESC to exit. Maximum problem size is 30 by 30assignment costs should be within 0 and 9999.

Затем программа продолжит выполнение, запрашивая, хотите ли Вы ввести стоимости назначений.

Continue with assignment costs (Y/N) Y

После нажатия <Y> на экране появится отформатированная таблица для ввода стоимостей назначений. Заполненная таблица исходных данных показана ниже.

B1 Job1
A B C D E
1 Job1 Job2 Job3 Job4
2 Candid1 16 9 14 17
3 Candid2 7 19 8 14
4 Candid3 15 6 9 10
5 Candid4 19 17 11 4

Если Вы хотите использовать более содержательные имена для работников (отличные от Candid1, Candid2 и т.д.), переместите указатель в колонку A таблицы и выполните ссответствующие изменения. Вы можете также поместить указатель в первую строку и изменить названия должностей. После завершения процесса ввода нажмите <F10> для запоминания данных и выхода из табличного редактора.

Теперь Вы можете распечатать входные данные, для этого необходимо установить указатель на опцию PRINT и нажать <ENTER>. Предварительно проверьте готовность принтера к работе. Вы можете также сохранить задачу на диске для будущих обращений. Для этого установите указатель на опцию FILE и выберите подопцию "Save current file", опуская подсвеченный прямоугольник на одну строку. Нажмите <ENTER>. Программа высветит название текущего устройства и директории и попросит Вас ввести имя файла. Введите имя файла в соответствии с соглашениями DOS.

Теперь все готово для решения задачи. Установите указатель на опцию SOLVE и выберите под-опцию "Display output". Через несколько секунд программа выдаст оптимальное назначение, как показано ниже.

Problem Title: JOB CONTRACT
Optimal Solution: Objective value = 29
Candid1 assigned to Job2
Candid2 assigned to Job1
Candid3 assigned to Job3
Candid4 assigned to Job4

Полученное оптимальное назначение (минимальной стоимости) предписывает назначить работника 1 на должность 2, работника 2 на должность 1, работника 3 на должность 3 и работника 4 на должность 4. Общая стоимость этого назначения $29.

ПРИМЕР 2 - ЗАДАЧА НАЗНАЧЕНИЯ РАБОТНИКОВ НА ДОЛЖНОСТИ (НЕСБАЛАНСИРОВАННАЯ)

Предположим, что имеется дополнительный работник, но должностей по прежнему четыре. Стоимости назначений представлены в таблице 3.

Этот тип задачи назначения называется "несбалансированной задачей". Для решения несбалансированной задачи, компьютер добавляет дополнительные фиктивные должности (или кандидатов), чтобы привести матрицу к квадратной форме. Стоимости назначений для фиктивных должностей (или работников) полагаются равными нулю.

Установите указатель на опцию EDIT и нажмите <ENTER> для изменения условий задачи. Программа начнет процесс редактирования с установки указателя в поле названия задачи. Измените название задачи на EXAMPLE 2 и нажмите <ENTER>. Снова нажмите <ENTER>, чтобы сохранить тип цели. Измените количество кандидатов на 5. Для этого передвиньте указатель на одну позицию, напечатайте "5" нажмите <ENTER>. Нажмите <ENTER>, чтобы сохранить существующее значение количества должностей. Заполненный экран исходных данных показан ниже.

Problem Title: EXAMPLE 2
Objective type (MIN/MAX): MIN
Number of candidates (rows): 5
Number of jobs (columns): 4
Continue with assignment costs (Y/N) Y

Нажмите <ENTER> для внесения изменений в таблицу стоимостей назначения. Заметим, что новая таблица содержит дополнительного кандидата, стоимости назначения которого равны нулю. Установите указатель на последнюю строку (Candid 5) и введите стоимости назначения в стобцы B - E. Заполненная таблица показана ниже.

E6 16
A B C D E
1 Job1 Job2 Job3 Job4
2 Candid1 16 9 14 17
3 Candid2 7 19 8 14
4 Candid3 15 6 9 10
5 Candid4 19 17 11 4
6 Candid5 14 11 18 16

После завершения ввода данных для нового кандидата нажмите <F10>, чтобы сохранить исходные данные и выйти из табличного редактора.

Теперь все готово для решения задачи. Установите указатель на опцию SOLVE и выберите подопцию "Display output". Через несколько секунд программа выдаст сообщение о несбалансированности задачи и о добавлении дополнительного фиктивного столбца.

Since there are fewer columns than rows, additional dummy
columns will be added with zero value in each cell

Нажмите <ENTER>, чтобы продолжить процесс решения. Оптимальное решение будет выглядеть следующим образом.

Problem Title: EXAMPLE 2
Optimal Solution: Objective value = 29
Candid1 assigned to Job2
Candid2 assigned to Job1
Candid3 assigned to Job3
Candid4 assigned to Job4
Candid5 assigned to Dummy 5

Полученное оптимальное назначение такое же, как в примере 1 и имеет такую же стоимость $29. Отличие состоит только в том, что новый работник должен быть назначен на фиктивную должность 5. Это означает, что новому работнику не предоставляется ни одна из существующих четырех должностей.

ПРИМЕР 3 - ЗАДАЧА НАЗНАЧЕНИЯ РАБОТНИКОВ НА ДОЛЖНОСТИ: НОВЫЕ ОГРАНИЧЕНИЯ

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

Установите указатель на опцию EDIT и нажмите <ENTER> для изменения условий задачи. Программа начнет процесс редактирования с установки указателя в поле названия задачи. Измените название задачи на EXAMPLE 3 и нажмите <ENTER>. Нажмите <ENTER> дважды, чтобы установить указатель на поле "количество должностей". Измените значение на "5", чтобы добавить дополнительную должность, и нажмите <ENTER> для сохранения нового значения. Заполненный экран исходных данных показан ниже.