Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на ГОС.doc
Скачиваний:
35
Добавлен:
02.05.2014
Размер:
2.45 Mб
Скачать

8.3.2. Задача календарного планирования участка с полным циклом изготовления изделий по линейно-последовательной технологии

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

Имеется п изделий и т единиц обрабатывающего оборудования. Каждое изделие обрабатывается в заданной, специфической для него линейной после­довательности. Процесс обработки изделия к может включать повторные обра­щения к одному и тому же оборудованию. Каждый станок одновременно обра­батывает не более одного изделия, и каждое изделие одновременно обрабаты­вается не более чем одним станком. Известны времена обработки каждого из­делия каждым станком. Прерывания в обработке не допускаются. Необходимо построить оптимальное по времени обработки всех изделий расписание. Пред­полагается, что время транспортировки изделий от операции к операции и вре­мя переналадок оборудования равны нулю. Перейдем к формальной постановке задачи.

Рассмотрим задачу построения оптимального (по быстродействию) рас­писания обработки множества изделий N={1, 2,..., к,..., п} на множестве обору­дования L={1, 2,..., l,..., т}. Изделие кgN обрабатывается на множестве обору­дования в заданной последовательности {11, /2,..., /r), при этом станки не обяза­тельно различны. Каждый станок обрабатывает изделие последовательно. Из­вестны времена обработки изделий. Введем понятие операции как процесса об­работки отдельного узла изделия отдельным станком в некоторой заданной последовательности. В этой терминологии процесс обработки изделия к состоит в последовательном выполнении операций. Если изделие к обрабатывается стан­ком l в qпо очереди раз, то эту операцию будем обозначать через (к, I, q), a длительность ее выполнения — через t(k, I, q).

Представим все операции в виде точек на плоскости. Каждые две опера­ции (k1,l1,q1) и (k2,l2,q2) могут быть зависимыми или независимыми в том смысле, что календарное время выполнения одной из них оказывает или не ока­зывает влияние на календарное время выполнения другой. В условиях рассмат­риваемой задачи целесообразно выделить три вида бинарных межоперацион­ных отношений.

Если к1 не равно к2 и 11 не равно 12, то операции (k1,l1,q1) и (k2,l2,q2) являются неза­висимыми. Графически они не соединяются никакими видами связей.

Если к1 = к2 = к, то по условию задачи одна из операций для определен­ности (k2,l2,q2) следует во времени за первой. В данном случае операция (k2,l2,q2) не может быть начата раньше, чем закончится операция (k1,l1,q1). Графически операции (k1,l1,q1) и (k2,l2,q2) следует соединить дугой, направ­ленной от первой операции ко второй.

Наконец, если l1=l2=l и к1 не равно к2, то операции (k1,l1,q1) и (k2,l2,q2) не могут выполняться одновременно, однако очередность их выполнения заранее не оговорена. В этом случае соединим операции ребром.

В результате получаем смешанный граф G = (X, U_, U), где X— множе­ство операций (вершин), U_ — множество дуг, U— множество ребер.

Алгоритм решения

Каждое допустимое расписание определяет календарные сроки выполне­ния операций и тем самым однозначно фиксирует определенные последова­тельности обработки изделий. Иными словами, каждому расписанию соответ­ствует некоторый ориентированный бесконтурный граф, порождаемый данным смешанным графом в результате замены всех его ребер дугами. Припишем ка­ждой дуге этого графа, соединяющей вершину (k1,l1,q1) с вершиной (k2,l2,q2) число t(k1,l1,q1)— длительность операции (k1,l1,q1). В результате получаем сетевой график. Используя обычную технику сетевого планирования, можно определить время начала и окончания каждой операции, т.е. построить расписание обработки изделий на станках. Таких расписаний, очевидно, можно построить сколь угодно много.

Таким образом, задача построения оптимального расписания обработки изделий на станках может быть решена перебором бесконечного числа возмож­ных вариантов расписаний. Этот перебор определяется числом бесконтурных графов, порождаемых данным смешанным графом.

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

1) построение бесконтурного графа (сетевого графика), порождаемого исходным смешанным графом в результате замены всех его ребер дугами;

2) построение расписания по данному сетевому графику.

Такой подход позволяет создавать программные генераторы допусти­мых расписаний в результате незначительной модификации существующих программ расчета временных параметров сетевых графиков. Для этого доста­точно дополнить их программой генерирования самих сетевых графиков.

Для построения сетевого графика можно воспользоваться следующей формальной процедурой:

1)в списке операций выделим множество операций, в которые не входит ни одна дуга;

2)по определенному правилу предпочтения выберем из сформированного множества ожидаемых операций некоторую фиксированную операцию;

3)заменим все ребра в рассматриваемом смешанном графе, соединяющие выбранную операцию и другие операции списка, на исходящие из этой операции дуги. Удалим операцию из списка;

4) если список операций исчерпан, процедура окончена. В противном случае переходим к пункту 1.

Используя в пункте 2 различные правила предпочтения для выбора опе­раций, получим в результате многократного повторения данной процедуры все допустимые (относительно исходного смешанного графа) сетевые графики. По­следующее построение расписания по сетевому графику проводится общеизве­стными методами сетевого планирования.

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

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