8135

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

Лекция

Информатика, кибернетика и программирование

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

Русский

2015-02-01

45.5 KB

4 чел.

Планирование действий в реальном мире.

Условное планирование. Непрерывное планирование.

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

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

Рассмотрим упрощенную задачу сборки автомобиля, предусматривающую две работы: сборка автомобилей C1 и C2. Каждая работа состоит из трех действий: установка двигателя, установка колес и проверка результатов. Предположим, что двигатель должен устанавливаться в первую очередь, а проверка, безусловно, должна проводиться в последнюю очередь.

В тексте программы на языке CLIPS, приведенном ниже, используются следующие шаблоны для спецификации неупорядоченных фактов:

engine – спецификация факта начала установки двигателя e на шасси c с плановым временем t,

wheels – спецификация факта начала установки колес w на шасси c за время t,

chassis – спецификация факта использования шасси c,

enginein – спецификация факта окончания установки двигателя на шасси c,

wheelson – спецификация факта окончания установки колес на шасси c,

done – спецификация факта окончания поверки автомобиля, собранного на шасси c.

Правила addengine, addwheels и inspect описывают, соответственно, действия по установке двигателя, колес и проверке.

(deftemplate engine

(slot e (type SYMBOL))

(slot c (type SYMBOL))

(slot t (type INTEGER))

)

(deftemplate wheels

(slot w (type SYMBOL))

(slot c (type SYMBOL))

(slot t (type INTEGER))

)

(deftemplate chassis

(slot c (type SYMBOL))

)

(deftemplate enginein

(slot c (type SYMBOL))

)

(deftemplate wheelson

(slot c (type SYMBOL))

)

(deftemplate done

(slot c (type SYMBOL))

)

(deftemplate goal

(slot current-task (type SYMBOL))

)

(deffacts init

(engine (e E1)(c C1)(t 30))

(engine (e E2)(c C2)(t 60))

(wheels (w W1)(c C1)(t 30))

(wheels (w W2)(c C2)(t 15))                

(chassis (c C1))

(chassis (c C2))

)

(defrule init-system

(initial-fact)

=>

(assert (goal(current-task find)))

)

(defrule addengine

(engine (e ?e)(c ?c)(t ?d))

(chassis (c ?c))

(not (enginein (c ?c)))

(goal (current-task find))

=>

(assert (enginein(c ?c)))

(printout t crlf "addengine " ?e " " ?c " " ?d)

)

(defrule addwheels

(enginein (c ?c))

(wheels (w ?w)(c ?c)(t ?d))

(chassis (c ?c))

(goal (current-task find))

=>

(assert (wheelson(c ?c)))

(printout t crlf "addwheels " ?w " " ?c " " ?d)

)

(defrule inspect

(enginein (c ?c))

(wheelson(c ?c))

(chassis (c ?c))

(goal (current-task find))

=>

(assert (done(c ?c)))                      

(printout t crlf "inspect " ?c " 10")

)

(defrule finish-process

(done (c C1))

(done (c C2))

?goal-ptr <- (goal (current-task find))

=>

(retract ?goal-ptr)

(printout t crlf "Solution found" crlf)

)

Далее показан результат выполнения программы в среде CLIPS с использованием стратегии “в глубину” (depth). Так как действия по сборке обоих автомобилей лишь частично упорядочены, то есть действия, относящиеся к разным автомобилям, могут производиться параллельно, то полученный план можно изобразить так, как показано на рисунке 1. Продолжительность каждого действия обозначена в нижней части каждого прямоугольника, а значения самого раннего и самого позднего времени начала, показаны в верхней левой части.

addengine E1 C1 30

addwheels W1 C1 30

inspect C1 10

addengine E2 C2 60

addwheels W2 C2 15

inspect C2 10

Solution found

Рис.1

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


[0,0]

Start

0,15]

addengine1

30

[30,45]

addwheels1

30

[60,75]

inspect1

10

[85,85]

Finish

[0,0]

addengine2

60

[60,60]

addwheels2

15

[75,75]

inspect2

10


 

А также другие работы, которые могут Вас заинтересовать

22823. Органічна хімія, конспект лекцій 887 KB
  Значення органічної хімії. Вивчення основних теоретичних положень органічної хімії сприяє формуванню, розширенню і поглибленню фундаментальних, загальнопрофесійних, спеціальних знань, а також активному формуванню предметних і професійних компетенцій, спрямованих на виконання виробничих функцій.
22824. Обязательная сертификация в законе «О техническом регулировании». Ее сущность, объекты, участники. Организация обязательной сертификации 19.03 KB
  Порядок передачи сведений о выданных сертификатах соответствия в единый реестр выданных сертификатов устанавливается федеральным органом исполнительной власти по техническому регулированию...
22825. Государственный контроль и надзор за соблюдением обязательных требований технических регламентов 16.81 KB
  Государственный контроль (надзор) за соблюдением требований технических регламентов осуществляется федеральными органами исполнительной власти, органами исполнительной власти субъектов Российской Федерации
22826. Релаксаційні коливання у схемі з неоновою лампою 86 KB
  Якщо напруга досягне певної величини яка називається напругою запалювання U3 лампа спалахне і струм стрибком досягне скінченої величини I3. Коли напруга спаде до величини U3 лампа не погасне. За другим правилом Кірхгофа для цього кола маємо 1 де Uk напруга на конденсаторі та неоновій лампі яка підключена до нього паралельно.15 видно що напруга на конденсаторі монотонно зростає із швидкістю яка залежить від величини добутку RC.
22827. КАТЕГОРІЙНО-ПОНЯТІЙНИЙ АПАРАТ З БЕЗПЕКИ ЖИТТЄДІЯЛЬНОСТІ, ТАКСОНОМІЯ НЕБЕЗПЕК 92 KB
  Виходячи з сучасних уявлень безпека життєдіяльності є багатогранним обєктом розуміння і сприйняття дійсності, який потребує інтеграції різних стратегій, сфер, аспектів, форм і рівнів пізнання. Складовими цієї галузі є різноманітні науки про безпеку. У всьому світі велика увага приділяється вивченню дисциплін
22828. ВИМІРЮВАННЯ НАПРУЖЕННОСТІ МАГНІТНОГО ПОЛЯ ВЗДОВЖ ОСІ СОЛЕНОЇДА ІНДУКЦІЙНАМ МЕТОДОМ 141 KB
  ВИМІРЮВАННЯ НАПРУЖЕННОСТІ МАГНІТНОГО ПОЛЯ ВЗДОВЖ ОСІ СОЛЕНОЇДА ІНДУКЦІЙНАМ МЕТОДОМ Явище електромагнітної індукції полягає у виникненні е. Напруженість магнітного поля в будьякій точці А що лежить на осі ОО’ соленоїда чисельно дорівнює алгебраїчній сумі напруженостей магнітних полів створених у точці А всіма витками спрямована вздовж осі за правилом свердлика 3 Де n’ – число витків за одиницю довжини соленоїда І величина струму; кути що утворює радіусвектор проведений з точки А до крайніх витків соленоїда мал....
22829. ЯВИЩЕ ГІСТЕРЕЗИСУ В ФЕРОМАГНЕТИКУ 115 KB
  ЯВИЩЕ ГІСТЕРЕЗИСУ В ФЕРОМАГНЕТИКУ Особливий клас магнетиків становлять феромагнетики – речовини здатні мати намагнічення у відсутності зовнішнього магнітного поля.21 наведена залежність модуля вектора намагнічення від напруженості зовнішнього поля для феромагнетика з попереднім магнітним полем рівним нулеві основна або нульова крива намагнічення . При деякому значенні H намагнічення досягає насичення оскільки вектор магнітної індукції та вектора намагнічення зв’язані співвідношенням то при досягненні вектор стає функцією від:...
22830. ВИЗНАЧЕННЯ КОНЦЕНТРАЦІЇ НОСІЇВ ЗАРЯДУ В НАПІВПРОВІДНИКАХ З ЕФЕКТУ ХОЛЛА 71.5 KB
  ВИЗНАЧЕННЯ КОНЦЕНТРАЦІЇ НОСІЇВ ЗАРЯДУ В НАПІВПРОВІДНИКАХ З ЕФЕКТУ ХОЛЛА В основу вимірювання концентрації електронів покладено явище Холла яке полягає у виникненні поперечної різниці потенціалів при проходженні струму по провіднику напівпровіднику який знаходиться в магнітному полі перпендикулярному до лінії струму. Ефект Холла в електронній теорії пояснюється так. Введемо сталу Холла 7 Тоді 8 Отже згідно з формулою 8 вимірявши силу струму I у...
22831. ДВОПРОВІДНА ЛІНІЯ 95.5 KB
  В таких системах активний опір ємність і індуктивність розподілені рівномірно вздовж лінії. Як правило в двопровідних лініях умова квазістаціонарності виконується щодо відстані між провідниками а сила струму I лінійна густина заряду q і напруга між провідниками U суттєво змінюються вздовж лінії. Застосовуючи до нескінченно малої ділянки двопровідної лінії закон збереження електричного заряду і електромагнітної Індукції нехтуючи активним опором провідників можна отримати такі співвідношення: 1 2 Тут L С ...