Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема_ЭММ14.doc
Скачиваний:
39
Добавлен:
01.04.2015
Размер:
722.43 Кб
Скачать

2.Задачи теории расписаний

Весьма важной в прикладном отношении является общая задача теории расписаний. В отечественной литературе эта задача чаще фигурирует под названием задачи календарного планирования.

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

Задана матрица , где- время, необходимое для обработки деталина станке(для тех деталей, которые не требуют обработке на станке). Требуется указать такой порядок запуска деталей в обработку, который минимизировал бы общее время выполнения всех работ (длину производственного цикла).

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

Известно несколько формулировок задач теории расписаний в виде целочисленных задач линейного программирования. Опишем одну из них, основой для которой является идея А. Манна.

Для простоты можно считать целыми числами. Составление графика обработки деталей необходимо связать с «календарем», «дни» которого занумерованы целыми числами, гденастолько велико, чтобы заведомо обеспечить возможность обработки всей производственной программы.

Введем неотрицательные целочисленные переменные , принимающие значения. Здесьуказывает «дату» начала обработки станкомдетали. Рассмотрим условия, которым должны удовлетворять

1). Прежде всего, нужно наложить ограничение, не допускающее одновременной обработки на одном станке двух деталей. Для этого моменты начала обработки любых двух деталей должны отстоять по «календарю» не менее чем на длительность обработки той из них, которая запускается первой, т.е.

или . (2.1.)

В обычную задачу линейного программирования альтернативное условие типа (2.1.) ввести нельзя. Конкретизируем прием обработки альтернативных условий. Определим целочисленные переменные , принимающие значения 0 или 1. Тогда (2.1.) можно переписать в виде

, (2.2.)

. (2.3.)

Отметим очевидное неравенство , вытекающее из определения. Ясно, что случайневозможен, так как обработка двух разных деталей не может начаться на одном станке одновременно. Ибо в этом случае неравенства (2.2.) удовлетворялись бы только при, а неравенства (2.3.) – только при. Если, тов (2.2.) может быть равен нулю или единице, а в (2.3.) – только нулю, так что единственным возможным значением здесь будет. Если же, тов (2.2.) может быть равен только единице, а в (2.3.) – и нулю и единице, так что в этом случае возможно лишь.

Отсюда ясно, что , если на станкеобработка деталипредшествует обработке деталиив противном случае.

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

. (2.4.)

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

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

, . (2.4а.)

Можно предложить еще вариант условий этого типа, считая, что деталь между обработкой на станкахидолжна пролежать время(целое число). В этом случае

. (2.4б.)

3). Могут быть наложены дополнительные условия «на отправку» (т.е. на сроки окончания отдельных работ). Так, если обработка детали на станкедолжна быть закончена к сроку, то

. (2.5.)

4). В качестве критерия оптимальности принимается минимизация общего времени обработки производственной программы. Пусть - дата полного завершения работ. Необходимо минимизироватьпри условиях

, ,(2.6.)

и при условиях (2.2.), (2.3.), (2.4.) (или его вариантах) и, возможно, еще при условиях (2.5.).

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

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