Program - un tip de calendar (adică ordonarea în funcție de timp ), pentru care sunt indicate informații despre evenimentele viitoare ( planificate sau care au avut loc ulterior) . De obicei este prezentat sub forma unui tabel .
Multe evenimente de transport , educaționale și de producție sunt organizate în mod periodic , repetându-se în același timp într-o zi , o săptămână sau un alt număr întreg de zile.
Această organizație reduce costurile de planificare .
Optimizarea orarului se referă la cercetarea operațională .
Programele sunt folosite pentru a indica unde și ce (cine) ar trebui să fie la momente specificate.
Orarul vagoanelor care circulă pe o rută permanentă a apărut în Marea Britanie în 1784 , dar numai pentru ora de plecare, nu de sosire. Orarele cu orele de sosire au apărut deja pe vremea locomotivelor cu abur în 1840 . Greenwich Mean Time
este, de asemenea, asociat cu orarul : în 1847, companiile britanice de locomotive cu abur au fuzionat și a fost determinată o singură oră pentru orarul britanic, în conformitate cu ora Observatorului Greenwich .
Programul de luptă - ( franceză ordre de bataille , germană Schlachtordnung ) - termen care a existat în secolul al XVII-lea, al XVIII-lea și chiar la începutul secolului al XIX-lea, care denota repartizarea unităților militare în ordinea bătăliei a armatei [1] . Programele de luptă din flotă reprezintă un set de sarcini ale fiecărui grad de pe navă în timpul luptei [2] .
Multe rute de transport public funcționează conform programului . Acest lucru este valabil mai ales pentru transportul interurban și internațional .
Pentru uzul pasagerilor , orarul poate fi afișat sau desenat pe un panou în zona de așteptare pentru transport , precum și tipărit pe hârtie, ca publicație separată sau ca parte a altor publicații.
La gări , aeroporturi etc., informațiile de zbor pot fi actualizate și afișate pe un tablou de bord .
Programul de cursuri într-o școală secundară ( instituție de învățământ superior ) servește la aducerea elevilor într-un singur sistem interconectat (de obicei sub formă de clase școlare ( grupe de studiu )), profesori ( profesori ), lecții ( discipline școlare ) și locuri desemnate pentru clase - clase ( săli de clasă ). ).
Optimizarea orarului de curs este unul dintre principalii factori care pot optimiza semnificativ procesul de invatare .
Orarul universitarProgramul pentru universități este foarte diferit de programul pentru școli: întrucât minorii învață în școli și profesorii sunt responsabili pentru ei în timpul studiilor, conform programului școlar, studenții trebuie să fie complet ocupați (fără „ferestre”), în timp ce pentru universitate nu exista o astfel de obligatie. Există, de asemenea, diferențe în resursele de calcul pentru programare (vezi en:Problema satisfacției constrângerii )
ro:Orar universitar
Orarul școliiro:Orarul școlii
Programul (numit program) de lucru ( Schedule , rota) al angajaților din acesta indică care dintre ei ar trebui să lucreze în ce perioadă de timp. Se folosește pentru munca în ture - program de serviciu, curățarea teritoriilor (spații etc.). Are o frecvență de câteva zile.
Dezvoltările teoretice în domeniul programării sunt realizate de secția matematică a cercetării operaționale
Programarea cursurilor într-o instituție de învățământÎn centrul programării cursurilor se află teoria programării . Teoria programării a fost bine studiată și descrisă în multe lucrări încă din anii 1960. Este utilizat pe scară largă atât în organizarea muncii întreprinderilor și este aplicabil instituțiilor de învățământ [3] [4] [5] .
Programul orelor din punct de vedere al formalizării în teoria orarelor este definirea pe scara temporală a locului de desfășurare a cursurilor la disciplinele de învățământ date cu îndeplinirea cerințelor pentru acestea. Cerințele sunt formate de participanții la procesul educațional și documentele de orientare.
Componentele inițiale ale acestui proces sunt:
Stabilirea unei sarcini pentru planificare
În multe lucrări, este formulat ca o enumerare a tuturor opțiunilor posibile pentru toate datele inițiale ale procesului de planificare (mulțimea carteziană R = {P*T*D*A*z}, unde z sunt perioadele lecției ( data și cuplul) cu găsirea optimului conform criteriului de potrivire Cu această abordare se face o concluzie despre complexitatea programării, deoarece la rezolvarea acesteia apare o creștere exponențială a numărului de combinații, ceea ce face ca problema să fie NP-completă . [3]
Cu toate acestea, această abordare nu este întotdeauna corectă, deoarece deja în pregătirea preliminară pentru planificare, această combinație este redusă prin combinarea profesorului, a fluxului, a audienței (sau a posibilului public) și a lecției în curs conform planului tematic într-o singură unitate de planificare. - numită adesea lecția.
Dacă considerăm planificarea în acest caz ca un proces de determinare a perioadei de timp pentru o anumită lecție, atunci sarcina devine clasică din punctul de vedere al teoriei programării. Adică, pentru un număr dat de lucrări (discipline) și operațiuni (ocuparea unei discipline), determinați astfel de perioade de timp astfel încât programul întocmit să îndeplinească criteriile de optimitate specificate și cerințele.
Pentru a crea un program, trebuie stabilite următoarele:
Pentru programarea automată, este suficient să setați primele două puncte. Al patrulea punct (criteriul de evaluare) este implementat pe baza experienței operatorilor în programare. Un punct important pentru automatizare este crearea unei astfel de abordări care să permită operatorului să realizeze un program pentru clasele selectate în timp minim cu control la nivel de program sau de către operator vizual asupra îndeplinirii cerințelor specificate. De fapt, în acest caz, soluția problemei se rezumă la găsirea celei mai bune interfețe pentru program și este o sarcină pur de inginerie. Pentru a facilita munca operatorului în primul pas de automatizare, puteți utiliza algoritmul de programare dinamică . Adică, ordinea programării pe discipline este determinată în așa fel încât să împartă procesul de planificare în subsarcini, programarea pentru care va fi relativ simplă. În același timp, sarcina principală în acest caz va fi determinarea criteriului de clasare a disciplinelor.
Pentru această abordare se poate folosi următorul criteriu [6] :
Kopt(i,j)=Wrd(i)/Wmo(j) , unde
i este numărul profesorului (mașinii) în intervalul de la 1 la M;
i este numărul disciplinei (lucrării) în intervalul de la 1 la N;
Wrd este numărul de clase (operații) de efectuat la disciplina aleasă (lucrare);
Wmo este numărul de ore (operații) pe care un profesor (mașină) le poate desfășura pentru perioada de timp planificată, ținând cont de restricțiile impuse desfășurării orelor la această disciplină și profesorului.
Clasamentul disciplinelor pentru programare se realizează în ordinea descrescătoare a criteriului obţinut.
În teoria programării, acest criteriu este adesea menționat ca o rezervă de timp pentru a finaliza munca - diferența dintre timpul pe care îl are mașina și timpul necesar pentru a lucra [5] . În acest caz, se propune utilizarea raportului acestor variabile, care permite nu numai aranjarea disciplinelor în ordinea planificării, ci și verificarea posibilității de planificare a lucrărilor conform formulei:
, unde N este numărul de discipline pentru acest profesor.
Dacă indicatorul rezultat este mai mare de 1, atunci aceasta înseamnă că profesorul nu are suficient timp pentru a conduce cursurile. În acest caz, este necesar să se reducă restricțiile privind desfășurarea acestor cursuri sau să se înlocuiască profesorul.
Programul de cursuri compilat conform acestui algoritm va fi doar parțial optim. Dar, în majoritatea cazurilor de abordări moderne de programare a cursurilor, programul rezultat este un fel de compromis în desfășurarea cursurilor, obținut pe baza experienței operatorilor și a cerințelor pentru desfășurarea cursurilor.
La implementarea acestei abordări, trebuie utilizată metoda iterativă . Adică, la programarea după fiecare disciplină, lucrarea este re-clasificată.
Dacă apare o situație în care planificarea este imposibilă pentru următoarea disciplină selectată, se efectuează reprogramarea. Ca disciplină reprogramată, se selectează cea cu cea mai mică valoare a indicatorului Kopt(i,j) .
Pentru a rezolva problema restricțiilor impuse de componentele procesului de planificare, este posibil să se utilizeze un algoritm recurent pentru adaptarea procesului de planificare. Constă în obținerea, pe baza graficelor anterioare existente, a unor indicatori care să permită concretizarea unor informații a priori asupra procesului de planificare pe baza experienței existente. Adică, în acest caz, organizați feedback pentru procesul de planificare pe perioadele anterioare de planificare, care va acționa ca un standard a posteriori pentru programarea orelor.