This is not an appropriate way to solve the problem of timetables.
This is a complex mathematical question and people will not provide good answers no matter how smart they are. Every artificial intelligence technique starts from a training, a database in which you have the best answers to a set of problems, from where the system learns to infer a new answer close to the ideal for a similar new problem. Well I don’t want to confuse you anymore, I’ll tell you what your problem is.
It is a problem of optimization and not artificial intelligence.
Defining with my words, every time we have a scarce resource that must be allocated, or a function that must be optimized for an objective obeying various constraints, we have an optimization problem.
The timetable is a classic optimization problem, in it we have to allocate hours for people’s work, say 24 hours, but we have several restrictions, such as, for example, we have employees working 8 hours, 6 hours, one must have an interval of 1 hour between 8 hours, off once a week, and various other legislative restrictions.
The algorithms then seek to achieve an optimized function that meets all the constraints imposed, minimizing or maximizing the use of resources.
Another example would be cutting wood, want to maximize the reuse of useful area and minimize cost. Restrictions are the required cutting formats and their quantity.
In fact the scheduling problem, is explored by some companies that provide consulting or present some software to facilitate the modeling and resolution of the same.
A former professor of mine in college teaches optimization classes, and has a company specializing in making work scales using these techniques I mentioned, the company is http://escaladerevezamento.com.br
It even has software in which I did a temporary job, where people set up the work board and its restrictions, and the system solves the best possible scale by attending to all legislation, avoiding fines and minimizing the number of employees, in fact saving on company payroll.
I took this business class and find it harder than artificial intelligence, everything that has to memorize something I find more difficult :-), I did not find a good material to pass you but have this one www.maxwell.vrac.Puc-rio.br/20533/20533_4.PDF that talks about the subject, good basically there is an algorithm called min-max to solve these problems, it does not have a high computational efficiency of the classical form, there are variations and methods more optimized and complex, studied in the master’s, but it is a good start. This teacher I spoke of was a student of this alien individual here:
Petr Iakovlevitch Ekel - http://www.pucminas.br/pos/eletrica/index-link.php?arquivo=docente&pagina=4124&id=262&PHPSESSID=893453e6e8b95dce0a3da4b3c1e3582a
This Petr teaches mathematical methods at PUC’s Master of Electrical Engineering and is simply the world’s leading authority on the subject, the guy works for governments, optimizing the installation of electric power meshes in countries, just to get an idea...
Your question is too wide. You should start by deciding which algorithm you want (or should) use. After that, you should find a library in your language of choice that implements such an algorithm. In your program, whenever relevant data appears, you must send this information to the AI module. Any more information than that depends on your application. There’s no way you can be more specific than that with your question being so generic.
– Pablo Almeida
I think your question is nice, but unfortunately I have to agree with Mr @Pablo. It is too wide, as there are numerous algorithms that can be suggested. Moreover, it is not clear what the system does automatically (that is, where does intelligence enter the system?): what kind of data do you collect and guard the user? What the system does that needs to be adjusted?
– Luiz Vieira
I’m not voting to close because you already offered a reward. But I even suggest that you edit the question to try to save it by adding details (and, who knows, take the remaining time of the reward given).
– Luiz Vieira
This material has a lot of artificial intelligence content and is geared to decision making, it explains several aspects and demonstrates this in a software. This should give you a direction. The Artificial Intelligence in the Decision
– leopiazzoli
Thank you for the Return of all. Really the question is wide. It is purposely so, because I try to see any algorithm of RBC and AG in practice. Independent of language and application. The purpose of the question is to get the path of the stones to direct my development, because so far, I have not found in my researches any algorithm. Only theory.
– Eric Silva