Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

519

.pdf
Скачиваний:
8
Добавлен:
15.11.2022
Размер:
2.18 Mб
Скачать

Пример решения задачи в Microsoft Excel

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

При изготовлении трех видов изделий А, В, С, могут быть использованы три вида взаимозаменяемого сырья (S1, S2, S3). В табл. 3.2.1 даны нормы расхода каждого вида сырья на единицу изделия (кг), количества сырья (кг), прибыль от единицы изделия (руб.).

Составить оптимальную программу использования сырья с целью получения максимальной прибыли. Необходимо построить модель, найти оптимальное решение, проанализировать результаты.

Таблица 3.2.1

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

Вид

Нормарасходасырья

Количество

 

Прибыль

 

сырья

 

наизделие, кг

сырья, кг

за ед. изделия, руб.

 

А

 

В

С

 

А

 

В

С

S1

2

 

2

4

500

4

 

3

2

S2

5

 

2

3

700

1

 

3

4

S3

4

 

5

6

800

5

 

2

3

Моделирование

Обозначим переменные величины:

х11 – количество изделий А из первого сырья; х12 – количество изделий В из первого сырья; х13 – количество изделий С из первого сырья; х21 – количество изделий А из второго сырья; х22 – количество изделий В из второго сырья; х23 – количество изделий С из второго сырья; х31 – количество изделий А из третьего сырья; х32 – количество изделий В из третьего сырья;

81

х33 – количество изделий С из третьего сырья. Тогда целевая функция

z = 4x11 + x21 + 5x31 + 3x12 + 3x22 + 2x32 + 2x13 + 4x23 + 3x33

max – максимумприбыли. Система ограничений примет вид

2x

2x

4x

500;

 

11

12

13

 

5x21

2x22

3x23

700;

4x

5x

6x

800;

 

31

32

33

 

xij ≥ 0; i = 1,3; j = 1,3.

Решение

На рабочий лист Excel введем исходные данные и таблицу с изменяемыми ячейками (рис. 3.2.1).

Рис. 3.2.1. Исходные данные и таблица с изменяемыми ячейками

ЯчейкиК3:М5 предназначеныдлязначенийпеременных. О7 – целевая ячейка, в которой будет размещена фор-

мула целевой функции.

Ограничения на количество сырья – введем формулу =СУММПРОИЗВ(В3:D5;K3:M5) в ячейку N3 и растянем на ячейки N3:N5.

Введем формулу =СУММПРОИЗВ(F3:H5;K3:M5)

вячейку O7 – целевая функция.

Вячейку К6 введем формулу суммы для всех изделий =СУММ (К3:К5) и растянем в ячейки К6:М6.

82

Рис. 3.2.2. Диалоговое окно Поиск решения

Для поиска оптимального плана производства изделий, который соответствует максимальному значению целевой функции, воспользуемся надстройкой Поиск решения. Заполним диалоговое окно надстройки Поиск реше-

ния (рис. 3.2.2):

1.В поле Оптимизировать целевую ячейку введите адрес ЦФ О7.

2.Ниже выберите параметр Максимум.

3.В поле Изменяя ячейки переменных введите диапа-

зон ячеек с искомыми переменными К3:М5.

83

4.Установите флажок Сделать переменные без ограничений неотрицательными и выберите параметр Поиск решения линейных задач симплекс-методом.

5.Щелчком по кнопке Добавить вызовите окно Добавление ограничения. В этом окне выполните ссылки на ячейки ограничений, а также выберите оператор ограничений. Для решения данной задачи нам необходимо ограничение на количество сырья N3:N5 ≤ O3:O5.

6.Нажав кнопку Найти решения, получим результаты решения.

В окне Результаты поиска решения выберем отчет и сохраним полученный результат как сценарий (кнопка

Сохранить сценарии) с именем Ресурсы.

На рис. 3.2.3 приведен оптимальный план производства изделий.

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

Анализ отчетов

Отчет о результатах, полученный на компьютере, представлен на рис. 3.2.4.

84

Рис. 3.2.4. Фрагмент листа Excel с отчетом о результатах

Отчет об устойчивости, полученный на компьютере, представлен на рис. 3.2.5.

Рис. 3.2.5. Фрагмент листа Excel с отчетом об устойчивости

Отчет о пределах, полученный на компьютере, представлен на рис. 3.2.6.

85

Рис. 3.2.6. Фрагмент листа Excel с отчетом о пределах

Анализ отчетов и выводы по анализу представлены в п. 2.6 и 2.7.

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

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

Задача о назначении – частный случай транспортной задачи. Это класс так называемых распределительных задач. Они могут быть решены в рамках теории линейного программирования, если распределяется однородный ресурс. Например, в задаче о назначении все работники могут выполнять любую из предложенных работ, все экипажи самолетов направляться на любую авиалинию.

86

Название задачи о назначении непосредственно исходит от практической кадровой ситуации, когда претендентов нужноназначитьнавакантныедолжностинаилучшимобразом.

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

Особенность задачи о назначении в том, что наличие высокой оценки еще не гарантирует успех, поскольку целью оптимизации является максимальный общий эффект. Вторая особенность в том, что переменные являются булевымипеременными, т.е. принимаютзначения «0» либо «1».

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

Задачу о назначениях можно сформулировать следующим образом. Необходимо выполнить M различных работ. Для их выполнения можно привлечь N рабочих. Каждый рабочий за определенную плату готов выполнить любую работу. Выполнение любой работы следует поручить одному рабочему, и каждый рабочий может выполнять только один вид работы. Требуется так распределить работы между рабочими, чтобы общие затраты на выполнение всех работ были минимальными.

Закрытая модель задачи о назначении

Предполагается, что количество рабочих равно количеству работ и равно m.

Математическаямодельзадачионазначенииприметвид

m

m

 

z cij xij max

(3.3.1)

j 1

i 1

 

при следующих условиях:

87

m

 

 

xij 1,

i 1, ..., m

(3.3.2)

i 1

 

 

m

 

 

xij 1,

j 1, ..., m

(3.3.3)

j 1

 

 

xij ≥ 0, i = 1, …, m; j = 1, ..., m,

(3.3.4)

где сij – показатель эффективности назначения i-го рабочего на j-й работе, например производительность выполнения i-м рабочим j-й работы;

xij – переменная модели (хij = 1, если i-й рабочий используется на j-й работе, и xij = 0 в противном случае).

(3.3.1) – целевая функция (минимум издержек на выполнение всех работ);

(3.3.2), (3.3.3) – система ограничений, отражающая следующие условия:

а) каждаяработадолжнабытьвыполненаоднимрабочим; б) каждыйрабочийможетбытьпривлеченкоднойработе; (3.3.4) – условия неотрицательности переменных.

При решении задачи о назначениях исходной информацией является таблица задачи о назначениях с = {сij}, элементами которой служат показатели эффективности назначений. Для задачи о назначениях, записанной в закрытой форме, количество строк этой таблицы совпадает с количеством столбцов (табл. 3.3.1).

Таблица 3.3.1 Исходные данные задачи о назначении

 

Рабочий

 

 

 

Работа

 

 

 

1

2

 

j

m

 

 

 

 

1

c11

c12

 

c1j

c1m

 

2

c21

c22

 

c2j

c2m

 

 

 

i

ci1

ci2

 

cij

cim

 

 

 

m

cm1

cm2

 

cmj

cmm

88

 

 

 

 

 

 

 

Результатом решения задачи о назначениях (3.3.1)– (3.3.4) является вектор x* xij* , компоненты которого

целые числа.

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

Открытая модель задачи о назначении

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

Пусть, например, количество рабочих п превышает количество работ m.

Введем дополнительные фиктивные работы с индексами j = m + 1, m + 2, ..., п. Коэффициенты таблицы назначений сij , i = 1, ..., п; j = m + 1, ..., п положим равными нулю. В этом случае получаем задачу, сформулированную в закрытой форме. Если в оптимальном плане этой задачи xij* = 1 при j = т + 1, ..., п, то исполнитель i назначается на выполнение фиктивной работы, т.е. остается без работы. Заметим, что оптимальное значение целевой функции исходной задачи совпадает с оптимальным значением задачи, приведенной к закрытой форме. Поэтому эффективность назначений в результате такого преобразования не меняется.

89

Пример решения задачи в Microsoft Excel

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

Предприятие объявило набор работников для нового цеха – указало названия трех должностей. Кадровая служба собрала четырех претендентов на эти должности, провела тестирование и определила эффект от выполнения работы каждым претендентом.

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

Исходныеданныедлярешенияпредставленывтабл. 3.3.2.

 

 

 

 

 

Таблица 3.3.2

 

 

 

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

 

 

 

 

 

 

 

 

Работы

 

Эффект от выполнения работ

 

 

Претенденты

 

 

 

№ 1

 

№ 2

№ 3

 

№ 4

а1

5

 

4

2

 

6

а2

4

 

5

4

 

4

а3

3

 

6

5

 

3

Моделирование

Обозначим переменные величины: хij – искомые переменные;

х11 – назначение работника № 1 на должность а1; х12 – назначение работника № 1 на должность а2; х13 – назначение работника № 1 на должность а3;

х14 – назначение работника № 1 на должность а4 (фиктивная работа).

Аналогично для остальных претендентов. Тогда целевая функция

90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]