Cartea de decizie - 1-a compilație automată

Configurație "1C: Programare automată, Colegiu", "1C: Programare automată, Colegiu (USB)". este o versiune specială a configurației "1C: Programare automată", destinată utilizării în organizațiile educaționale ale ACT.







Produsul este încărcat cu date din "1C: Colegiul", "1C: Colegiul TRAC", algoritmul intern pentru calculul automat al programării este implementat în limba internă "1C: Enterprise 8". În acest algoritm de calcul pentru programare, tranzițiile între clădiri nu sunt luate în considerare.

Următoarele funcții sunt implementate în configurație:

Figura următoare prezintă forma de bază pentru programare ("șah", rânduri - zile ale săptămânii, perechi, coloane - camere).

Pe tabla de șah sunt afișate clasele care au fost deja introduse în program și celulele sunt evidențiate cu o culoare specială, unde lecția din lista inferioară a claselor "dezordonate" nu poate fi / nu poate fi setată. Operatorul poate trage manual clasele de pe lista inferioară pe tabla de șah sau poate muta lecțiile de șah. Astfel, după calcularea automată a șahului, este posibilă schimbarea manuală a acesteia sau, invers, punerea manuală a unui element, soldul poate fi calculat automat. Sistemul afișează automat toate coliziunile și nerespectarea condițiilor și le permite să execute rapid (a se vedea figura de mai jos).

Sarcina de a pregăti programul de formare este o sarcină bine-cunoscută de optimizare combinatorică "Timetabling". Chiar și găsirea unui program acceptabil este NP-hard în sensul puternic al problemei. Prin urmare, în rezolvarea ei, este necesar să se utilizeze metode matematice pentru rezolvarea problemelor de optimizare combinatorică. Utilizarea acestora face posibilă reducerea complexității calculelor, accelerarea căutării unui program acceptabil sau optim.







Sarcini de atribuire a resurselor limitate și de operațiuni (de lucru) și operațiuni de planificare sunt considerate în cadrul teoriei de planificare. Sarcinile luate în considerare în cadrul acestui proiect sunt numite, de obicei, "sarcini de compilare a tabelelor temporare (Time Tabling)". Problema generalizată este formulată după cum urmează. Seturile de resurse R1, R2, ... Rk și setul de operații J1, J2, ..., Jn sunt date. pe care trebuie să le îndepliniți. Pentru fiecare operație, este necesar un set de resurse pentru a se realiza, resursele pot fi identificate în mod unic (resurse fixe) sau un subset de resurse din care poate fi selectat un număr fix de resurse (resurse libere). Fiecare resursă poate fi atribuită unei singure operații la un moment dat.

Este necesar pentru fiecare operațiune să se selecteze "resursele libere" și să se determine momentul execuției. Programul rezultat ar trebui să fie acceptabil (nu încalcă restricțiile privind resursele) sau optim, adică un program acceptabil, în care o anumită funcție obiectivă este minimizată sau maximizată.

De exemplu, următoarea sarcină de programare a cursurilor într-un colegiu, unde R1 = grupuri de elevi, R2 = profesori, R3 = camere, operații = clase. Resursele de la R1 și R2 sunt fixe, fără R3. Există diferite restricții privind momentul în care fiecare resursă specifică este disponibilă (de exemplu, profesorul Ivanov II poate conduce cursuri numai marțea și joia). Este necesar să se facă un program valid de sesiuni de formare sau optim, care să minimizeze, de exemplu, numărul de ferestre sau numărul de camere folosite.

Această configurație a fost elaborată în colaborare cu Laboratorul nr. 68, "Teoria programelor și optimizarea discretă" al Institutului de Științe Control, Academia Rusă de Științe. VA Trapeznikova RAS. În configurație este implementat un algoritm de rezolvare a problemei, propus de personalul laboratorului.







Trimiteți-le prietenilor: