ASP Timetable — это приложение для составления расписания, реализованное декларативным образом с использованием программирования наборов ответов и решателя Clingo из моего курса по искусственному интеллекту. Составление расписания считается классической проблемой ИИ, включающей множество ограничений, и эта программа решает различные проблемы и соображения, связанные с составлением расписаний.
atoms.lp
)src
проекта. git clone https://github.com/Adamouization/ASP-Timetable
cd ASP-Timetable/src/
Сгенерируйте набор ответов с помощью Clingo
и передайте выходные данные в скрипт Python, который проанализирует данные и сгенерирует графический интерфейс: clingo -n 0 asp/timetable.lp asp/atoms.lp --outf=2 | python Timetable.py
где:
clingo
— это команда, используемая для запуска генерации набора ответов с использованием указанных файлов AnsProlog.timetable.lp
содержит генераторы, правила, ограничения и параметры отображения для создания оптимального расписания.atoms.lp
содержит все атомы, такие как курсы, лекторы, комнаты и т. д.--outf=2
выводит сгенерированный набор ответов в формате JSON.|
передает вывод JSON в скрипт Pythonpython Timetable.py
запускает сценарий Python для анализа вывода JSON и создания графического интерфейса Tkinter с данными оптимального ответа.Подождите, пока расписание будет создано в ASP и графический интерфейс будет запущен на Python.
Если вы просто хотите просто сгенерировать набор ответов с помощью clingo без графического интерфейса Tkinter:
clingo -n 0 asp/timetable.lp asp/atoms.lp
Если вы просто хотите запустить тестовые примеры, перед использованием этой команды убедитесь, что вы находитесь в папке «src», и замените тестовым примером в каталоге ASP-Timetable/src/asp/test_cases
:
clingo -n 0 asp/timetable.lp asp/test_cases/.lp --outf=2 | python Timetable.py
Вы можете просмотреть документацию LANA в своем веб-браузере (созданную с использованием расширения SeaLion Eclipse). Для этого перейдите в папку documentation
и откройте файл index.html
в веб-браузере.