Jadwal ASP adalah aplikasi penjadwalan yang diimplementasikan secara deklaratif menggunakan Pemrograman Kumpulan Jawaban dan pemecah Clingo kursus Kecerdasan Buatan saya. Penjadwalan dianggap sebagai masalah AI klasik yang melibatkan banyak kendala, dan program ini mengatasi berbagai tantangan dan pertimbangan yang diperlukan dalam pembuatan jadwal.
atoms.lp
)src
proyek. git clone https://github.com/Adamouization/ASP-Timetable
cd ASP-Timetable/src/
Hasilkan kumpulan jawaban menggunakan Clingo
dan kirimkan hasilnya ke skrip python yang akan mengurai data dan menghasilkan GUI: clingo -n 0 asp/timetable.lp asp/atoms.lp --outf=2 | python Timetable.py
dimana:
clingo
adalah perintah yang digunakan untuk menjalankan menghasilkan kumpulan jawaban menggunakan file AnsProlog yang ditentukantimetable.lp
berisi generator, aturan, batasan, dan opsi tampilan untuk menghasilkan jadwal yang optimalatoms.lp
berisi semua atom seperti kursus, dosen, ruangan, ...--outf=2
menampilkan kumpulan jawaban yang dihasilkan dalam format JSON|
menyalurkan output JSON ke dalam skrip pythonpython Timetable.py
menjalankan skrip Python untuk mengurai keluaran JSON dan membuat GUI Tkinter dengan data dari jawaban optimal.Tunggu hingga jadwal dibuat di ASP dan GUI diluncurkan dengan Python.
Jika Anda hanya ingin membuat kumpulan jawaban menggunakan clingo tanpa GUI Tkinter:
clingo -n 0 asp/timetable.lp asp/atoms.lp
Jika Anda hanya ingin menjalankan test case, pastikan Anda berada di folder "src" sebelum menggunakan perintah ini dan ganti dengan test case di direktori ASP-Timetable/src/asp/test_cases
:
clingo -n 0 asp/timetable.lp asp/test_cases/.lp --outf=2 | python Timetable.py
Anda dapat melihat dokumentasi LANA di browser web Anda (dihasilkan menggunakan ekstensi SeaLion Eclipse). Untuk melakukannya, buka folder documentation
dan buka file index.html
di browser web Anda.