ASP Timetable
1.0.0
ASP Timetable是一個時間表應用程序,使用答案集編程和 Clingo 求解器以聲明方式實現我的人工智慧課程。時間表被認為是一個涉及許多約束的經典人工智慧問題,該程式解決了生成時間表時遇到的不同挑戰和考慮因素。
atoms.lp
中指定)src
資料夾。 git clone https://github.com/Adamouization/ASP-Timetable
cd ASP-Timetable/src/
使用Clingo
產生答案集,並將輸出透過管道傳輸到 python 腳本,該腳本將解析資料並產生 GUI: clingo -n 0 asp/timetable.lp asp/atoms.lp --outf=2 | python Timetable.py
其中:
clingo
是用來執行使用指定的 AnsProlog 檔案產生答案集的指令timetable.lp
包含生成器、規則、約束和顯示選項以產生最佳時間表atoms.lp
包含所有原子,例如課程、講師、房間…--outf=2
以 JSON 格式輸出產生的答案集|
將 JSON 輸出傳輸到 python 腳本中python Timetable.py
運行 Python 腳本來解析 JSON 輸出並使用最佳答案中的資料建立 Tkinter GUI。等待在 ASP 中產生時間表並在 Python 中啟動 GUI。
如果您只想使用 clingo 產生答案集而不使用 Tkinter GUI:
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
您可以在 Web 瀏覽器上檢視LANA文件(使用 SeaLion Eclipse 擴充功能產生)。為此,請前往documentation
夾並在 Web 瀏覽器中開啟index.html
檔案。