Mega Run time issue (brute force method), Prolog

I'm trying to make a schedule of facts, the facts are in the form of course_meetings (topic, type, group, description),

I decided to use brute force

I will create all possible schedules and see which one passes all the restrictions, however, from the facts that I create 2.6, how can I optimize this, and is there a better approach. e.g. course_meetings (subject to type, group, instructor, description). solve: -

findall([A,B,C,D,E],course_meetings(A,B,C,D,E),L),
permutation(L,L1),
%and apply constrains on it.

I have 32 facts of this format and 32 to swap it! ~ = 2.6 * 10 ^ 32

+3
source share
2 answers

Prolog . assert/rectract . . (clpfd). , , "Simplistic School Time-Tabler" CLP Primer

+4

. clp (fd), , " ".

+2

All Articles