Problema programării în liceu

Articolul se ocupă cu problemele care apar în pregătirea orarelor, și oferă soluții pentru criteriile de planificare descrise. Este, de asemenea, un exemplu de algoritm proiectat de programarea automată a claselor.

Programarea - una dintre cele mai frecvente probleme în planificarea și optimizarea procesului educațional în școli. Contează cât de bine programul elaborat depinde de eficiența activității cadrelor didactice, de predare și masterizarea a studenților materiale, utilizarea rațională a resurselor materiale.
Automatizarea de programare - o problemă clasică în sistemele de management al instituției, dar în acest moment nu există nici un singur mod, universal acceptat să o rezolve.
Toate abordările de programare bazate pe metode euristice care vin la om cu experiență. Formaliza aceste metode sunt problematice, deoarece acestea se referă la operatorul de luare a deciziilor, program, care este ghidat de experiență și intuiție. De multe ori angajat de sine, program, nu poate răspunde la întrebarea de ce a ales o anumită clasă de opțiuni de cazare, mai degrabă decât orice alt printre admisibile. Dar, în ciuda complexității formalizarea algoritmilor, putem evidenția anumite caracteristici astfel de abordări euristice, bazate pe cerințele pentru programarea. Desigur, pentru fiecare instituție, aceste cerințe sunt diferite, deoarece acestea sunt caracteristici ale organizării procesului educațional condiționat istoric. Cu toate acestea, chiar și cu toate datele, este posibil să se identifice cerințele comune pentru program:

  1. Numărul minim de ore în student pe zi;
  2. Numărul maxim de ore de predare pe săptămână de sarcină pentru fiecare elev;
  3. Numărul maxim de ore în student pe zi;
  4. Minimalizarea ferestre în studenți;
  5. Contabilitate pentru distanțe de timp între carcasele la schimbarea tutorat corpului;
  6. Cont de doleanțele profesorilor;
  7. o serie de clase de disciplină nu trebuie să se termine cu prelegeri, în cazul în care există un seminar (practic) clase;
  8. privind disciplina ciclului de formare nu ar trebui să înceapă cu un seminar (practica) a sesiune, în cazul în care există cursuri;
  9. Fiecare flux cursuri ar trebui să fie abordate toate grupurile, au primit același număr de ore de seminarii de formare (practică);
  10. Nu cheltui mai mult de două prelegeri în aceeași disciplină în zi și nu mai mult de una / două seminarii în aceeași zi în disciplina;
  11. Numărul minim de ore profesorului pe zi;
  12. Numărul maxim de lecții profesorului pe zi;
  13. ferestre minimizând au facultatea (denumit în continuare PPS);
  14. Minimizarea orele suplimentare cadrelor didactice în funcție de personal;
  15. Reducerea la minimum numărul de subiecți identice simultane în școală, la unul și același timp. Aceasta afectează în mod direct suma alocată PPP pentru a oferi o sarcină didactică;
  16. Utilizare maximă a fondului de clasă. Acestea includ cerințele pentru plasarea mai dens de elevi în funcție de cele mai recente capacitatea de public și de a minimiza spații de nefuncționare;
  17. Contabilizarea timp distanțele dintre carcasele la schimbarea de locuințe profesor.

Sarcina de planificare depinde de condițiile inițiale. Aveți posibilitatea să programați activități de grup în astfel de condiții, în anumite grupuri:

  1. Programarea cu o informație cunoscută a priori privind distribuirea între grupurile de PPP;
  2. Programarea cu excepția PPP, folosind o sarcină de scaune;
  3. Programarea fără a lua în considerare sarcina de scaune.

Considerăm mai detaliat caracteristicile fiecăreia dintre grupele de mai sus de sarcini.
Problemele cu informațiile cunoscute despre distribuția între grupurile de PPP dorește instructor probleme de registru, control transport prin schimbarea programului de șipci locuințe profesorilor (mai multe clase în același timp). Angajat, program, este necesar în pregătirea de plumb doar două scheme de sprijin: grup Program și programul PPP. Mai ales dificilă sarcina devine, în cazul în care profesorii împart sarcina unul cu celălalt până la grup, iar operatorul nu poate schimba programul această distribuție. Prin urmare, una dintre abordările care reduc cadrul rigid de constrângeri, care este operatorul, este de a utiliza distribuția de profesori fără grupuri: profesori indică numai facultatea, cursul și numărul de grupuri, se vor desfășura pe parcursul semestrului. grup specific atribuie un operator pentru a programa. Acest lucru vă permite să obțineți un alt grad de libertate suplimentar, ceea ce va reduce numărul de impasuri.
Problemele, care utilizează doar o sarcină de scaune, operatorul nu mai trebuie să ia în considerare dorințele PPP sau intersecția de angajare a acestora, deoarece operatorul nu este obligat să păstreze doar două programe: grup și profesor. Cu toate acestea, în mod indirect operatorul trebuie încă să se țină seama de faptul că Departamentul trebuie să minimizeze facultatea necesară pentru sarcina didactică, deoarece devine foarte important să se pună în aplicare cerințele de la numărul 15. Relatarea acestei cerințe conduce la apariția de o asemenea magnitudine ca scaunul de putere, care arată cât de multe sesiuni pot conduce Departamentul pentru aceeași disciplină, în același timp. După compunerea departamentele trebuie să aranjeze listele de profesori înșiși.
Problema de programare fără a ține cont departamentele de grade de libertate este mult mai mult decât în ​​altele, deci este foarte logic de abordare este de a trece de la un grup sau fir. Cu toate acestea, într-un astfel de caz, atunci când programarea nu poate fi luată în considerare la elaborarea cerințelor asociate cu profesorii (№ 6, 11-17).
Fiecare cerință pentru orarul de mai sus (1-17), impune programarea particular. De exemplu, în prezența simultană în cerințele de sarcină 3, 4, 10, 11, 12 și 15 pentru plasarea optimă a sesiunilor pentru grupa 1 între profesor și fluxul trebuie să încerce să plaseze o sarcină care citește un profesor pentru toate grupurile de curgere. Pentru clasele de plasare optime pentru grupa 2 din cauza lipsei de informații despre profesor în cadrul fluxului trebuie să încerce să posta prima lectură, și, de fapt, pe următoarele perechi, seminarii pe teme, cursuri care au fost în perechea anterioară, ceea ce permite de a lega sarcina aceeași disciplină. Aceasta permite să se ia în considerare în mod indirect cerințele de 11, 12, 15, asociate cu profesorul.
Numărul 16 Cerința de a efectua obținut în mod optim, în cazul în care toate clasele din școală sunt ținute într-o grilă fixă ​​a unui singur (total) plan de apelare. Dacă în clasele de școală, care nu aparțin unui apeluri plan de grilă sau apeluri într-un plan de grilă, distinct de general, atunci intersecția acestor lecții cu exerciții plan general recomandă conduce la un fond de clasă simplu pentru 20-40 de minute, iar pe parcursul întregului totalul semestru spații de timp de nefuncționare acumulate.
O altă problemă poate fi identificată prin plasarea de bază subiecții lecții (în cazul în care grupul de flux nu au fost ocupate în profil), cursuri opționale, limbi străine, educație fizică și cursuri electivă. Esența problemei este că nu se știe întotdeauna, de orice grupuri academice recrutat unul sau un alt grup pentru a vizita disciplinele menționate mai sus, care poate duce la atașamentul pentru studenți, în cazul în care unul și același timp, pentru a plasa cursuri pe teme neapărat primul studiu și disciplinele menționate mai sus . Calea de ieșire din această situație este fie selectarea zilelor individuale pentru aceste discipline, sau plasarea acestor clase de la primul sau ultimul cuplu.
O altă problemă în problema de programare este un flux. În curenți pot fi create nu numai în curs (probabil cel mai simplu caz), dar și pentru alte activități, cum ar fi seminarii. Folosind fluxuri la seminarii complică problema, deoarece locul este întotdeauna fluxurile problematice decât clase pentru un singur grup. Poate fi de asemenea prezente grupe de divizare în subgrupuri pe clase de laborator, cursuri ținute în spec. premise, etc. Atunci când programați în astfel de cazuri, utilizarea unei clase de plasare pentru un subgrup de la o saptamana paritate, iar pentru celălalt subgrup la o altă paritate, clasele sunt plasate într-o zi dedicată separată sau la începutul / sfârșitul activităților în cursul zilei, astfel încât studenții nu sunt diferite subgrupuri format fereastră. În plus, se recomandă plasarea acestor studii, în primul rând.
O altă caracteristică importantă în problema de programare este că ia în considerare cerințele orarelor de intrare operatorului: cerințele de greutate (semnificație) (1-17) pot fi modificate în mod dinamic în funcție de condițiile locale la fiecare pas al programării. Algoritmul este greutatea euristic schimbă prea.
Problema principală cu programarea automată - o evaluare a calității programării. următoarele estimări pot fi evidențiate:

  1. Ore de sesiuni găzduite;
  2. Orele nu sunt utilizate pe deplin clase;
  3. Orele nu sunt utilizate pe deplin clase;
  4. numărul de discipline și grupuri restante;
  5. suma nu este plasat pe deplin discipline și grupe;
  6. suma nu este plasat pe deplin discipline și grupe;
  7. durata totală a ferestrelor de elevi;
  8. lungimea totală a ferestrelor profesorilor;
  9. durata maximă a ferestrei de student;
  10. durata maximă a profesorului ferestrei;
  11. numărul mediu de sesiuni cu un profesor într-o zi;
  12. numărul minim de ore pe zi profesorului;
  13. numărul maxim de lecții profesor pe zi.

Dacă activitățile automate de planificare este utilizat pentru grupul 2 obiective, atunci este recomandabil să se evalueze 11-13 înlocuiește cu următorul text:

  • numărul mediu de lecții privind disciplina în ziua la școală;
  • numărul minim de ore pe disciplina în a doua zi la școală;
  • numărul maxim de studii pe această temă în a doua zi la școală.
Atunci când algoritmi de proiectare pentru programarea automată a acestor estimări pot fi considerate ca fiind criteriile trebuie să fie optimizate, iar piesa poate fi considerată ca o limitare. De asemenea, atunci când programarea pentru criteriile pot fi utilizate diferite tipuri de pliere [2, 5] pentru reducerea problemei la o probleme de optimizare-un criteriu sau a trata problema de optimizare multiobiectiv folosind principiul Pareto dominanță [8, 9, 10] și construirea ulterioară a multiple criterii de compromis [11 ]. Pentru a implementa acest algoritm pe care doriți să utilizați metode de optimizare. Există o mare varietate și mai multe metode de rezolvare a problemelor de optimizare. Clasa cea mai comuna de algoritmi pentru astfel de probleme - algoritmi „lacomi“ [1]. Acestea dispun, în ceea ce privește problema de programare este o decizie pentru fiecare iterație pe baza valorilor criteriilor actuale, rezultând într-o prematură opri algoritmul și duce la minimele locale (opțiuni de plasare de muncă mort-end). Puteți combina „lacomi“ algoritmi de căutare locale cu un algoritm de căutare la nivel mondial [3, 4, 6, 7], dar crește semnificativ numărul de opțiuni pe care va trebui să ia în considerare algoritmul în procesul de clase de plasament.

Comportamentul operatorului atunci când programarea este mai mult ca comportamentul algoritmului „greedy“: secvențial operatorul plasează clasa, nu în încercarea de a construi sau să ia în considerare clase de plasament mai mult de o opțiune, el are, de fapt, foarte rar șterge clase găzduite și alegeți o altă opțiune de cazare. Dar operatorul, pe baza experienței și intuiția lor în fiecare decizie cu privire la alegerea variantelor de plasare a ocupării forței de muncă supraestimează importanța fiecărui criteriu / restricții, ceea ce face ca adauga foarte eficient si eficient rezultatul cerut.
Este din cauza faptului că formaliza toate cerințele pentru programul este foarte dificil și greu să se ia în considerare procesele de afaceri unice ale fiecărei instituții, utilizarea de „lacomi“ algoritmi de optimizare fără a utiliza metode euristice conduce la un rezultat care nu satisface fiecare învățământ specific instituție. Acest lucru nu este de lucru pentru a dezvolta un algoritm care ia în considerare toate caracteristicile tuturor instituțiilor de învățământ.
Prin urmare, abordarea cea mai corectă în astfel de situații este de a proiecta algoritmul de planificare automată pentru nevoile și luând în considerare particularitățile fiecărei instituții de învățământ în parte, folosind euristică se apropie cel mai apropiat de acțiunea operatorului. Acest lucru conduce la concluzia că algoritmul de planificare automată în fiecare instituție încă său.
Pentru a lua în considerare variabilitatea operatorului de luare a deciziilor în programarea în funcție de situație, puteți rupe procesul de elaborare a programului de pe treptele, fiecare dintre care este principiul de luare a deciziilor nu se schimba. Aceasta este etapa - este un grup de condiții în care operatorul va lua o decizie pe același algoritm.
Luați în considerare exemplul unuia dintre algoritmii euristici, concepute pentru o anumită instituție de învățământ a unui circuit de mai multe etape.
În această școală sarcina de a programa condițiile inițiale se referă la o grupă 2: profesorii nu știu, cu toate acestea, este necesar să se ia în considerare în mod indirect de către aceștia, prin cerința de numărul 15.
Compoziția din următoarele restricții: ferestrele studenții ar trebui să fie de cel puțin 1 activitate pe zi pentru a învăța cât mai mult posibil - 4, nu mai mult de două cursuri pe zi pe această temă pentru elev, nu mai mult de o lecții nelektsionnogo privind disciplina în ziua de student. Criteriile de evaluare a calității programului: 1-6.

Algoritmul de elaborare a graficului de mai multe etape din față, în cazul în care fiecare pas este optimizat „greedy“ algoritm bazat pe soluții de plasare arbore cu diferite restricții de compoziție. Compoziția din următoarele etape:
1. plasarea manuală a orelor de educație fizică, de formare în cursuri de calculator, limba-Ino ciudat.
2. Plasarea unui ciclu continuu de cursuri pe durata programului de până la cinci zile. Mai mult decât atât, atunci când plasarea ziua săptămânii devine o prelegere. Acest lucru ia în considerare cerințele de 2, 3, 4, 5, 10, 15, 16. Cerința numărul 1 pentru a lua în considerare în această etapă nu are sens, deoarece echipamentul de formare nu este încă complet în zile.
3. clase de plasare nelektsionnyh ciclu continuu pe durata curselor, scripturi doar nelektsionnye zile până la cinci zile. Mai mult decât atât, atunci când plasarea ziua săptămânii devine o prelegere. Acest lucru ia în considerare revendicările 2, 3, 4, 5, 8, 10, 15, 16.
4. Decide pentru fiecare grup de alocarea de încă șase zile. Ziua iese în evidență, în cazul în care a existat vreodată prelegeri, care poate găzdui un ciclu continuu pe durata programului de. În cazul în care este alocată o astfel de zi, atunci aceste grupuri umplut a șasea zi a săptămânii pentru prelegeri. Acest lucru ia în considerare revendicările 2, 3, 4, 5, 10, 15, 16.
5. Plasarea prelegeri reziduuri în zilele de curs. În acest caz, puteți utiliza noile zile de curs, dar nu mai mult de cinci zile pentru toate clasele de grup. Acest lucru ia în considerare revendicările 2, 3, 4, 5, 10, 15, 16.
6. Plasarea cursuri de reziduuri în zile nelektsionnye. În acest caz, puteți utiliza noile zile nelektsionnye, dar nu mai mult de cinci zile pentru toate clasele de grup. Acest lucru ia în considerare revendicările 2, 3, 4, 5, 10, 15, 16.
7. Plasarea reziduurilor nelektsy în zile nelektsionnye. În acest caz, puteți utiliza noile zile nelektsionnye, dar nu mai mult de cinci zile pentru toate clasele de grup. Acest lucru ia în considerare cerințele de 1, 2, 3, 4, 5, 8, 10, 15, 16.
8. Plasarea reziduurilor nelektsy în zilele de curs. Acest lucru ia în considerare cerințele de 1, 2, 3, 4, 5, 8, 10, 15, 16.
9. Toate sesiunile rămase nealocate rămân la prelucrarea manuală. În același timp, la latitudinea decidentului, puteți elimina toate clasele care nu îndeplinesc cerința 1 ca urmare a etapelor anterioare.

Astfel. pentru utilizarea optimă a programării automate trebuie să fie proiectate algoritmi euristici care să țină seama de specificul fiecărei instituții în parte, și de a folosi pași în euristic oferă o mulțime de flexibilitate în luarea deciziilor. Singura modalitate de a obține un rezultat bun.

articole similare