Sunteți pe pagina 1din 92

CALENDARUL UNIVERSITAR PROGRAMAREA FOLOSIND

ALGORITMUL METAEURISTIC ADAPTIVE-ELITIST GENETIC

Un CS teza de proiect

prezentat la Facultatea de

AMA COMPUTER COLLEGE

LAS PIÑAS

În îndeplinirea parțială a

cerințelor pentru gradul de

LICENȚIAT ÎN ȘTIINȚE INFORMATICĂ

Cercetător:

celiz, edcel

A.

Aprilie 2018
Dăruire

Această cercetare este dedicat mine și dezvoltatorii de software

colegi . Pentru a reaminti că întrebarea nu este "pot face acest lucru?",

dar "cât timp până am face acest lucru?"

II
Confirmare

Aș dori să recunosc și mulțumesc următoarele:

Dumnezeul nostru Atotputernic, pentru a face toate acestea să se

întâmple și servind ca o sursă de inspirație față de viitor.

Părinții mei dragi, Maribel și Carlos Celiz, și fratele, Christopher

celiz, care m-au sprijinit întotdeaunaîn toate capacită țile lor și a servit ca

inspirația mea pentru succesul meu în viață.

Iubitul meu partener, Araceli Liza, care și-a exprimat sprijinul

nesfârșit, răbdare și dragoste cu mine pe tot parcursul cercetării.

AMA computer College las Piñas" Dean, Engr. Michelle pullon,

care a făcut cercetarea mea posibilă și ghidat meu spre dezvoltarea sa .

AMA computer College las Piñas"Facultatea de colegiu, care au

arătat sprijinul lor și cunoștințele care au făcut posibil de cercetare.

Vorbitori de cercetare pentru crearea de judecata dreapta și

împărtășirea lor de opinii profesionale cu privire la cercetare.

Prietenii mei și colegii care hAve arătat sprijinul lor și de a ajuta în

vremuri de primejdie.
CUPRINS

Fișade omologare I

Dăruire ii

Confirmarea III

Abstract IV

Cuprins V

CAPITOLUL I

PROBLEMA ȘI FUNDALUL SĂU

Introducere 1

Contextul studiului 2

Situația problemei 4

Semnificația studiului 5

Cadrulconceptual 6

Domeniul de aplicare și limitarea 16

Definiția termenilor 27

CAPITOLUL II

REVIZUIREA STUDIILOR ȘI LITERATURII CONEXE

Studii externe și locale și literatură 29

CAPITOLUL III

CERCETARE de proiectare și a întâlnitHodology

Metodologiade proiectare a cercetării 37

V
Metoda de dezvoltare a software-ului metoda de evaluare a software-ului

38

CAPITOLUL IV

PREZENTAREA, ANALIZAREA ȘI INTERPRETAREA DATELOR

CAPITOLUL V

REZUMAT, CONCLUZIE ȘI RECOMANDARE

Rezumat 49

Concluzie 50

Recomandare 51

Cifre

Figura 1,0 simplificat IPO-model al programului 6

Figura 2,0 de bază procesul de algoritm genetic 7

Figura 3,0 Davis "ordine crossover 15

Figura 4,0 metodologia de dezvoltare iterativa 38

Figura 5,0 arborele de evaluare (filiala simplificată) 41

Tabele

Tabelul 1,0 evaluare Matrix 8

Tabelul 2,0 exemplu de selecție a turneului 14

Tabelul 3,0 constrângeri 17

Tabelul 4,1 instructor CSV coloane 21

Tabelul 4,2 camere CSV coloana


Tabelul 4,3 subiecte CSV coloana

Tabelul 5,0 cerințe minime de sistem 22

Tabelul 6,0 setările algoritmului genetic 23

Tabelul 7,0 matricea de evaluare selectată 42

Tabelul 7,1 echilibrat de evaluare distribuție Matrix 45

Tabelul 7,2 Plasarea subiectului evaluare Matrix 46

Tabelul 7,3 constrângeri strânse de evaluare Matrix 47

Tabel 8,0 limitarea setărilor aleatorii 43

Tabel 9,0 Setări aleatorii

Tabelul 10,1 model 1 Sumar 46

Tabelul 10,2 model 2 Sumar 47

Tabelul 10,3 model 3 Sumar 48

Bibliografie

Apendicele

Apendicele A – literele

apendicele B – propunere

de titlu

Apendicele C – Colegiul

curriculums apendicele D – proba

de ieșire apendicele E – lista de

programe apendicele F –

rezultatele aplicației apendicele G

– Gantt Chart apendicele H –


curriculum vitae apendicele I –

permisul final
CAPITOLUL 1

PROBLEMA ȘI FUNDALUL SĂU

Introducere

Programarea calendarului este procesul de creare a calendarelor

care se potrivesc constrângerii scenariului. Acesta este utilizat într-o

magnitudine a industriei de la planificarea transporturilor până la

crearea de program complex pentru fabrici automatizate extrem de

optimizat . Majoritatea planificării la scară mică se realizează

manual, în timp ce operațiunile mai mari necesită programarea asistată

de computer .

Inteligența artificială este una dintre soluțiile de calcul în cre ștere

datorită creșterii puterii de calcul. Acesta poate fi aplicat la diferite tipuri

de probleme care pot ajuta la optimizarea solu țiilor existente sau de a

crea niciodată a fost încercat soluții din cauza mai multe limitări.

Inteligența artificială ajută la crearea soluțiilor pentru problemele de

timp polinomiale non-deterministe pe care întreprinderile și organiza țiile

le vor avea întotdeauna.

Algoritmul genetic este un metaheuristic care imită procesul de

selecție naturală. Acesta poate fi efectuat în mai multe moduri diferite,

cu diferite tipuri, dar va urma toate același concept. Această cercetare

are ca scop crearea unei inteligență artificială prin utilizarea algoritmului

evolutiv, în special a algoritmului genetic combinat cu trăsături


1
adaptive și elitiste care pot genera un calendar al programului

universitar cu scopul de a

2
care generează o soluție valabilă și cât mai optimă posibil cu anumite

constrângeri.

Contextul studiului

Programarea claselor într-o instituție este una dintre activită țile

care pot fi clasificate în gestionarea operațiunilor . Managementul

operațiunilor are ca scop maximizarea eficien ței într-un anumit

domeniu. Programarea clase este adesea făcut de oameni care se

dovedește a fi eficient, dar nu înseamnă că este perfect. Utilizarea

computerelor pentru a găsi cea mai bună soluție pentru această

problemă folosind metoda convențională este extrem de ineficientă. Prin

urmare, computerele au fost ignorate pentru o perioadă de timp la

rezolvarea unei astfel de probleme. Cu toate acestea, cre șterea puterii

de calcul și a utilizării a deschis modalită ți de rezolvare a problemelor de

planificare .

Managementul operațiunilor este adesea considerat ca fiind

coloana vertebrală a multor companii. Noțiuni de cele mai eficiente WoRK

înseamnă profit mai mare. Într-un scenariu institu ție de învă țământ,

obținerea celui mai eficient program nu ajută doar la reducerea

cheltuielilor , ci în principal pentru a satisface studen ții. Deseori,

programările mai bune oferă studenților și instructorilor un control mai

bun asupra timpului lor. Creatprograme de ING se face mai bine de

oameni decât tehnicile convenționale de calcul, deoarece oamenii au

creier puternic pentru a evalua constrângerile și combina ții mai bine. Cu


toate acestea, programarea este cunoscut a fi non-deterministe polinom

Time (NP) problemă completă în cazul în care pentru a găsi cea mai

bună soluție, fiecare combinații posibile ar trebui să fie executat.

Oamenii nu pot calcula fiecare combinație posibilă și, prin urmare,

rezolvă
problema prin completarea și asigurându-vă că constrângerile sunt

îndeplinite. Acest lucru este cunoscut a fi "destul de bun" solu ție. Acest

proces este predispus la erori, ineficiența și încălcarea constrângerilor

în special atunci când lucrează într-un scenariu foarte strâmt.

ReplicatING modul uman de rezolvare a problemei (lacom algoritm) în

calculatoare este extrem de ineficiente din cauza costurilor sale de calcul

Computerele sunt rareori utilizate pentru rezolvarea acestei

probleme din cauza stigmatizarea că este nesigur și ineficiente. Cu toate

acestea, acest lucru este bACK atunci când computerele sunt lente și

nu sunt destinate pentru a rezolva problemele de calcul intensivă . Cu

explozia de date mari și creșterea exponențială a puterii de calcul,

folosind calculatoare pentru a rezolva noi seturi de probleme care

anterior pot fi rezolvate numai de către oameni a devenit u șor.

Programarea este una dintre problemele care pot fi rezolvate acum de

către computerele cu soluții acceptabile sau chiar mai bine. Inteligenta

artificiala a devenit mai frecvente astăzi adus de cre ștere în industria de

calcul. Mai multe soluții se încadrează îninteligen ța Arti, ar fi învă țarea

automată, învățarea profundă și algoritmii genetici. Toate aceste procese

au propriile lor argumente pro și contra. algoritmul genetic este potrivit

pentru programarea problemei, deoarece creează o solu ție în timp, pe

baza regulilor și criteriilor.

În ama computer College las Piñas, Dean Colegiul este

responsabil pentru crearea de programe. Programarea se face semi-


manual cu ajutorul calculatorului. Mai multe probleme apar din acest

proces. Utilitatea și ușurința software-ului care asistă la

programarea este o
povară din cauza unui număr de caracteristici care sunt împră știate și

nu chiar fiind utilizate majoritatea timpului. Procesul nu poate oferi încă

o soluție care este asigurată pentru a fi liber de erori, Rezultate rău în

căutarea și restricții violations. Deși a devenit o practică pentru decan de

a face programe, probleme în a face programarea solu ție nu este plecat.

De la aprobarea sistemului de învățământ K-12 în Filipine, Institutul a

admis studenți seniori de liceu, care a pusel Dean în crearea unui

program într-o condiție foarte strans. Cu condițiile actuale, folosind un

computer pentru a ajuta la rezolvarea problemei de planificare

poate fi o opțiune. Această cercetare are ca scop crearea unei solu ții

software candidate prin utilizarea algoritmilor genetici pentru generarea

programului.

Declarația problemei

Programarea în ama computer Colegiul las Piñas se face

semi-manual cu ajutorul calculatorului care poate produce erRORS,

încălcări ale constrângerilor și ineficiențe menționând că programarea a

mers mai greu cu constrângere mai stricte. Problema poate fi defalcată

în;

 Programarea este încă în curs de făcut semi-manual cu operatorul

folosind procesul deopotrivă la lacomi algoritHm, care poate

produce rezultate cu erori.

 Software-ul care asistă operatorul nu este ușor de utilizat și

experiența de a folosi software-ul este rău și departe de

standarde. Acest lucru duce la confuzie și incapacitatea de a


exercita întregul potențial al software-ului .
 Software-ul utilizat nu este echipat pentru institut și, prin urmare,

creează o curbă de învățare abruptă. Universalitatea aplica ției

cauzează confuzie și ineficiențe cu pregătirea scenariului

pentru generarea de soluții.

Semnificația Study

Pentru ama computer Colegiul las Piñas: sistemul va reduce

foarte mult timp și efort cheltuit pe generarea unui program, prin

urmare, oferind mai mult timp pentru administrator pentru a gestiona

Institutul. Acest lucru va fi, de asemenea, aplicabil cu seniorliceulde

plecare de la Institutul menționat.

Pentru sistemul de învățământ AMA și alte institute de

învățământ: mai multe Institute de învă țământ poate adopta sistemul

și beneficia de o soluție de programare calculată. Acesta va ajuta la

ușurința de gestionare a școlii și, eventual, reducerea cheltuielilor prin

care au un program mai utilizate. Sistemul este construit pentru a

sprijini programarea pentru niveluri mai mici decât Colegiul.

Pentru cercetător: dezvoltarea sistemului va ajuta foarte mult

cercetătorul către îmbunătățirea știin ței calculatoarelor din cauza

implementării algoritmilor multipli. Acesta va ajuta, de asemenea, să

ofere un pas pentru comunitatea de inteligență artificială în cre ștere. De

cercetare va fi inclus înFolio port, care poate afi șa abilită țile de cercetător

în abordarea problemelor complexe .


Pentru cercetătorii viitoare: cercetătorii pot utiliza această

cercetare ca o sursă pentru cercetările lor. Ele pot utiliza această

abordare pe rezolvarea problemelor de optimizare sau chiar cCreare o

versiune mai eficientă. Această cercetare vine cu date utile cu privire la

înțelegerea performanței și a procesului care va ajuta cercetătorii

viitoare.

Cadrul conceptual

The program can easily be described as a scheduling computing

software wherein you input basic data sets and it will output a

structured result. A simple input-process-model would be:

Intrare Procesu Ieşire


l
 Instructori
Aplicarea algoritmului
 Camere
genetic pentru a genera
 Secţiuni Orarul clasei
rezultate.
 Subiecte
 Setări

Feedback

Figure 1.0 Simplified IPO-Model of the Program

Algoritmul genetic este o metodă de calcul care este o selec ție

naturală, care este un proces în evoluția biologică. Procesul este repetitiv

și cel mai bine conceptualizat folosind un Flowchart. În algoritmul

genetic, o soluție este menționată ca cromozomi în loc de individ. Cifra de

mai jos arată procesul de bază al algoritmului genetic. Cu toate acestea,


în practică a sistemului, un alt pas se adaugă după

Evaluare , care este ajustarea mediului.

Figura 2,0 de bază procesul de algoritm genetic

Generarea de populație se face aleatoriu cu un mix de abordare

lacomi în cazul în care un punct aleatoriu va fi selectat și să

acționeze ca punct de plecare și apoi începe completarea tabelul cu

orice entitate care ar potrivi. În timpul generării popula ției, trebuie

îndeplinite toate constrângerile dure. Constrângerile medii vor suferi mai

multe încercări de urmat, în timp ce constrângerile moi sunt total

ignoranţaRed.

Evaluarea este procesul de calculare a adecvării cromozomilor.

Fitness este măsura de calitate a cromozomilor relativ la solu ția

dorită. De asemenea, declanșează procesul de încheiere, dat fiind că o

anumită sală de fitness este îndeplinită. Calcularea FitneSS se face prin

evaluarea fiecărui cromozomi la constrângerile medii și moi selectate în

mod specific
Plasarea subiectului, pauza de pranz, odihna sectiunii, ora de inactivitate

a sectiunii, restul instructorilor, echilibrul de sarcina instructor si

modelul de intalnire.

De fitness calculation s-ar fi în mare măsură pe baza cantită ții de

subiect complotat în comparație cu subiecții necesari. Cu toate acestea,

calculul ar depinde în continuare de matricea de evaluare furnizată de

utilizator. Matricea de evaluare este un set de greută ți de constrângere

care arecapacitatea de a modela soluțiile. Este o listă a care

conține prioritizarea constrângerilor folosind o distribu ție de o sută la

sută (100%)

Tabelul 1,0 evaluare Matrix

nume Funcţia

Încercări de creare a unui program valid


Plasarea subiectului pentru toate

subiecților din toate secțiunile.


Încercări de a avea cel puțin o pauză de 30 de
Pauza de pranz minute

între 11:00 AM și 1:00 PM


Încercări de a oferi cel puțin secțiuni o

Secțiunea odihnă pauză de 30 de minute pentru fiecare 3 ore

consecutive

de sesiune
Încercările de a se asigura că secțiunile

vor avea puțin sau nici un timp inactiv în

Ora de inactivitate a ceea ce privește pauza de prânz și restul


secțiunii
secțiunii *.

*Restul secțiunii se modifică prin eliminarea


necesității

pentru sesiunea consecutivã.


Încercările de a oferi instructorilor cel

Instructor de odihnă puțin o pauză de 30 de minute pentru

fiecare 3 ore consecutive

de sesiune
Încercările de a echilibra distribuirea
Instructor de
încărcăturii de instructor în raport cu
încărcare
Subiecte.
echilibru
Încercări de a se asigura că toate programele
divizate
Model întâlnire
sunt în urma unui model în loc de

selecție aleatoare data.

Calculul de fitness totală ar folosi formula de mai jos în cazul în care:

= chromosome, funcțiile urmați the matricea de evaluare de mai jos și fW este


evaluarea Weight

fitness(x) = (g(x) Panu gW) + (h(x) Panu hW) + (i(x) Panu IW) + (j(x) Panu jW) +
(k(x) kW)

+ (l(x) , în cazul în care este+ (m(x) , de

Plasarea subiectului

Această etapă de evaluare calculează adecvarea bazei

cromozomilor pe plasarea subiectului. Computing acest lucru ar folosi

formula de mai jos în cazul în care:

fitness = 𝑎𝑚𝑜𝑢𝑛𝑡 𝑜𝑓 𝑝𝑙𝑎𝑐𝑒𝑑 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠


∗ 100
cuantumul total al subiecților
angajați
Pauza de pranz

Această etapă de evaluare verifică dacă secțiunile au pauza de

prânz pe tot parcursul săptămânii. Participarea la sec țiunea zile sunt

evaluate și etichetate "fără pauză de prânz " , dacă toate timeslot între

11:00 am la 1:00 pm este umplut. Calcularea fitness urmează

formula de mai jos:

fitness = 𝑑𝑎𝑦𝑠 𝑤𝑖𝑡ℎ𝑜𝑢𝑡 𝑙𝑢𝑛𝑐ℎ 𝑏𝑟𝑒𝑎𝑘


∗ 100
valoarea totală a participării la
secțiunea zile

Secțiunea odihnă

Această etapă de evaluare calculează perioada de repaus a

secțiunilor care este dictată de regula că ar trebui să existe cel pu țin o

pauză pentru fiecare trei

(3) ore consecutive de sesiune. Calcularea fitness urmează formula de

mai jos:

fitness = 𝑑𝑎𝑦𝑠 𝑤𝑖𝑡ℎ𝑜𝑢𝑡 𝑠𝑒𝑐𝑡𝑖𝑜𝑛 𝑟𝑒𝑠𝑡


∗ 100
valoarea totală a participării la
secțiunea zile

Ora de inactivitate a secțiunii

Această etapă de evaluare verifică decalajul inutil dintre subiectul

secțiunilor. Timpul de inactivitate al sec țiunii face uz de evaluarea de

repaus secțiune modificată. Cerința pentru sesiunea consecutivă este


eliminată, prin urmare, oferă o secțiune gratuit 30 de minute de odihnă

timp de fiecare trei ore de sesiune prezente în a doua zi. Această

etapă respectă, de asemenea, prânzul


pauză și secțiunea rest. Prin urmare, timpul de inactivitate este calculat

folosind formula de mai jos:

timp inactiv

= numărul de intervale vacante între prima și Ultima sesiune a zilei the

− pauze permise

Dacă timpul inactiv este mai mare decât zero pentru a doua zi,

atunci ar trebui să fie etichetate cu excesul de repaus. Putem calcula

astfel de fitness de la secțiunea de inactivitate timp de:

fitness = 𝑑𝑎𝑦𝑠 𝑤𝑖𝑡ℎ𝑜𝑢𝑡 𝑒𝑥𝑐𝑒𝑠𝑠 𝑟𝑒𝑠𝑡


∗ 100
valoarea totală a participării la
secțiunea zile

Instructor de odihnă

Această etapă de Evaluare calculează perioada de repaus a

instructorilor care este dictată de regulă că ar trebui să existe cel

puțin o pauză pentru fiecare trei

(3) ore consecutive de sesiune. Calcularea fitness urmează formula de

mai jos:

fitness = 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑜𝑟 𝑑𝑎𝑦𝑠 𝑤𝑖𝑡ℎ𝑜𝑢𝑡 𝑟𝑒𝑠𝑡


∗ 100
cantitatea totală de TeachING zile
instructor

Instructor de încărcare echilibru

Această etapă de evaluare calculează distribuția normalizată a

încărcării instructorilor . Acest lucru ia în considerare faptul că


instructorii pot avea o piscină reciprocă subiect cu al ți instructori.

Următoarea formulă de mai jos arată formula pentru calcularea

balanței de încărcare:
instructor de încărcare(instructor)

cantitatea de sarcină luată de către instruițior


=
cantitatea totală de sarcină în the rezerva de subiect de
instructor

∑ 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑜𝑟 𝑙𝑜𝑎𝑑(𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑜𝑟𝑠)
fitness =
numărul total de instructori
activi

Model întâlnire

Această etapă de evaluare verifică corectarea în utilizarea

modelelor de întâlnire . Există doar în prezent două (2) modele de

întâlnire definite , care este "MWF" și "TTH". Calcularea fitness urmează

formula de mai jos:

fitness = 𝑎𝑚𝑜𝑢𝑛𝑡 𝑜𝑓 𝑠𝑢𝑏𝑗𝑒𝑐𝑡𝑠 𝑎𝑏𝑖𝑑𝑖𝑛𝑔 𝑚𝑒𝑒𝑡𝑖𝑛𝑔 𝑝𝑎𝑡𝑡𝑒𝑟𝑛


∗ 100
numărul Total de subiecți angajați − subiecți
indivizibile

După evaluare, se adaugă un pas suplimentar pentru a

efectua adaptarea inteligenței artificiale la performan ța sa actuală.

Adaption este procesul de schimbare a variabilelor care rulează pentru a

satisface pentru rezultate mai bune. Theste ajută inteligen ța artificială

pentru a evita concentrându-se pe un set de probleme care pot provoca

convergență pre-mature. Adaption efectuează două sarcini importante,

care este alinierea populației și ajustarea ratei muta ției.


Alinierea populației

Population este termenul pentru grupul de solutii. Înainte de

generarea soluției, operatorul care utilizează sistemul poate modifica

variabilele de funcționare ale algoritmului. Setările "popula ție minimă" și

" populație maximă" definește limita schimbării popula ției .

Calculation de aliniere a populației va arăta cât de mult se schimba

în populație se va face folosind o serie de formula de mai jos:

modificare(x)

∑ cazuri de x With (− 1 < abatere < 1) , la de


( 100) − Setări soi scăzut
𝑝𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 𝑐𝑜𝑢𝑛𝑡
= 100

, număr populație

Ajustarea ratei mutației

Rata mutației este șansa pentru fiecare cromozomi pentru a

obține o schimbare aleatorie. Ajustarea ratei muta ției se produce atunci

când declanșatorul care este setat înainte de rulare este îndeplinită.

Când o generație se termină fără a declan șa ajustarea, rata muta ției

va decreta cu 0.5% altfel va fi mărită cu 0,5%. Calculul de Ajustare

rata de mutație de declanșare urmează formula de mai jos:

modificare = 0,5 , în cazul în care adecvarea medie − adecvarea medie


anterioară

< Setări de declanșare a ajustării else 1)


După evaluare, cromozomii sunt aleși pentru a participa la

reproșction. Cromozomii cu o mai mare de fitness este mult mai probabil

pentru a obține ales. Aici vine supraviețuirea celui mai adaptat. Există

mai multe moduri de a selecta cromozomi toate acestea au argumente

pro și contra. Cel mai adecvat tip de selecție va contribui la evitarea

convergenței timpurii și la promovarea diverselor solu ții. Ca variantă

elitistă a algoritmului genetic, partea de sus n% a populației este

garantată pentru a continua în generația următoare cu acelea și Gene, în

funcție de Setări.

Restul procesului de selecție urmează să fie realizat prin

implementarea mai multor turnee pe populație. Participan ții la turneu

sunt selectionatid aleatoriu cu o cantitate de 4% din popula ția existentă,

dar plafonate la douăzeci și cinci (25). Turneul va rula până când

sunt culese destule perechi. Exemplul următor de mai jos Arată o

simulare în cazul în care 40% din cei 10 cromozomi sunt selecta ți în

turneu.

Exemplu de selecție a turneului ta ble 2,0

Cromozomi Fitness Participant

#1 4,1 Adevărat

#2 3,4

#3 5,6 Adevărat

#4 7,5

#5 6,5

#6 1,2
#7 3,5 Adevărat

#8 2,8 Adevărat
#9 7,5

#10 1,1

Castigator: cromozomi #3

Dacă există 100 cromozomi la o populație cu o rată de elitism de

10%, atunci trebuie să generăm turneul de 90 de ori pentru a asocia 45

de cromozomi care vor produce 90 de pui. Puii și cromozomii de elită

după crossover ar Total în 100 careh este popula ția conta pe tot

parcursul procesului.

Piscina de împerechere constă din cromozomi selecta ți care vor

suferi crossover. Operațiunea crossover implică producția de pui pe baza

genelor de părinți analoage cu omologul său biologic. Există mai multe

modalități de a efectua crossover și ar fi selecția, este important să se

utilizeze cel mai potrivit pentru a avea un rezultat mai bun. Davis

"ordine crossover funcționează mai bine pentru permutare pe bază de

probleme. Procesul de lucrări prin luarea cluster Gene de primul

părinte în puii și apoi ambalaj gena cluster de al doilea părinte în

puii. Pentru fiecare Pair de cromozomi, doi urmasi vor fi produsi in

cazul in care rolul parintilor este inversat pentru a produce diferite

urmasi. Toți puii vor lua locul părin ților lor în popula ție. Acest lucru

poate fi vizualizat de mai jos în cazul în care:


Figura 3,0 Davis "ordine
crossover
Mutația este un operator genetic care ajută la men ținerea

varietății de soluții. Se poate preveni, de asemenea, solu țiile de a fi blocat

în optima locale. Mutația este procesul de alterare a genei/s a unui

cromozogen. De obicei, rata mutației este scăzută și fixă. Cu toate

acestea, un algoritm genetic daptive înseamnă că rata de muta ție poate

varia în funcție de performanța populației.

Odată ce algoritmul genetic se termină fie prin for ță , fie prin

îndeplinirea criteriilor de sfârșit, primii 5 cromozomi celui vor fi afi șa ți

pentru evaluarea utilizatorilor. Utilizatorul poate alege orice din solu ția

propusă și să obțineți rezultatele într-un fișier CSV .

Domeniul de aplicare și limitarea

Această cercetare are ca scop crearea unei inteligen ță

artificială care poate crea programe de programare. Aceasta acoperă

numai procesarea datelor de intrare și generarea deRezultate sensibile

umane. Procesul de a fi utilizate în crearea de programe este adaptive-

elitist algoritm genetic. Un tip de algoritm evolutiv care implică păstrarea

cel mai bun set de soluții de-a lungul generațiilor următoare pentru a

menține soluția la nivel înalt, dar în acela și timp, variabile ar fi

numărul populației, rata mutației și presiunea de selec ție, schimbarea

pentru a evita convergența prematură care duce la rezultate slabe .


Calculul programului ar implica validarea pentru fiecare

constrângere. Constrângereas sunt set de reguli care direcționează

acceptarea de ieșire. Vor fi utilizate trei tipuri de constrângeri;

1. Constrângeri soft -un set de reguli care pot fi rupte fără a afecta

valabilitatea de ieșire.

2. Constrângeri medii – un set de reguli care pot fi încălcate cu

efect asupra validității producției. Cu toate acestea, acest lucru poate

fi rupt numai în cazul în care scenariul este logic incorect sau

imposibil.

3. Constrângeri hard -un set de reguli care ar produce o solu ție

nevalidă dacă este întreruptă.

Tabelul 3,0 constrângeri

Constrângere dură Constrângere medie Constrângere soft

Elevii ar trebui să

Subiectele aibă doar 30 de


Instructorii predau o clasă
secțiunilor sunt minute pauză
la un moment dat
plasate în pentru fiecare

programul două ore de

sesiune pe zi
Secțiunile ar trebui Subiecții care

să aibă cel puțin 30 sunt divizați ar

Instructorii predau la de minute de timp trebui să urmeze

programul lor disponibil vacant între 11:00 cele două modele

AM la 1:00 PM de întâlnire

pentru pauza de definite care


pranz
"MWF" și "TTH"
Opțional
Instructorii ar
Secțiunile ar trebui
Instructorii pot lua doar trebui să aibă o
să aibă cel puțin 30
N cantitatea de subiecți sarcină distribuită
de minute timp
dependenți de cantitatea normalizată
vacant pentru fiecare
lor maximă de încărcare bazată pe rezerva
3 ore consecutive de
instructor
sesiune
Subiecte
Instructorii ar trebui

au cel puțin 30 de

Secțiunile frecventează o minute vacante timp


clasă
la un moment dat pentru fiecare 3

ore consecutive de

Sesiune

Secțiunile participă la

program disponibil

Secțiunile vor rămâne la un

Cameră dacă nu luați o

subiect de laborator

Secțiuni cu subiecți care

sunt partajate cu alte

secțiuni ar trebui să
producă o
program care este

compatibil cu toate
partajarea
Participanţii
Camerele pot lua doar clasa

la programul său disponibil

Subiecții au o cameră
dreapta

Tip
Subiecții se vor

împărți în funcție

de

Configurare
Subiecților li se va

atribui un instructor

dacă există un bazin de

instruire pe

Configurare

Cererea are cinci intrări majore; Instructori, camere și subiecte

componente sprijină adăugarea de intrare folosind cererea și importul.

Componenta secțiuni permite crearea de secțiuni cu caracteristică

specială de partajare subiect cu alte SectioNS și componenta Manager de

scenarii gestionează configurația de rulare. Ar exista două tipuri de

rezultate; utilizând Vizualizatorul de rezultate al aplica ției care poate

vizualiza primele cinci soluții ale ultimului scenariu generat și exportarea

soluției selectate WHICH va produce trei fișiere de valori separate prin

virgulă (CSV). Teste pentru fiabilitatea și performan ța programului în

special evaluarea pentru performanța inteligenței artificiale va veni de la

utilizarea aplicației folosind înregistrări reale ale ama coata șat Colegiul

las Piñas. Aplicația va utiliza limba Python. De cercetare va


se desfășoară în al doilea și al treilea trimestru al anului școlar 2017-

2018 în AMA computer College las Piñas.

Rezultatele cererii este nOT garantat a fi cea mai bună solu ție

posibilă pentru scenariul. Calitatea rezultatului se bazează foarte

mult pe rularea preferința. Datorită naturii sale stocastice, rezultatele

pot varia de la săraci la excelent. Sistemul nu garantează că restric ția

dură a fiecărei soluții va fi îndeplinită în special atunci când scenariul

prezentat este logic imposibil sau intens strâns. Acest lucru înseamnă,

de asemenea, că, atunci când într-un scenariu stricte constrângeri moi

sau medii sunt supuse încălcărilor pentru a satisface constrângeri dure

. Constrângerile dure sunt obligate să fie urmate și nu vor fi

încălcate niciodată. Importul de valori din CSV suportă formatarea

strictă prezentată mai jos.

Formatare CSV

Toate fișierele CSV ar trebui să utilizeze linia 1 a fi șierului ca

indicator de fișier. Acestea ar trebui să fie una dintre următoarele

"instructori", "camere" și "subiecte". A doua linie a fi șierului trebuie

utilizată pentru definirea coloanelor tabelului în aceea și ordine cu

scrierea de mai jos:


1. Instructori – nume, ore

Tabelul 4,1 instructori coloane CSV

Coloana Descrierea / Tip (Opțiuni)

Numele
nume Şir
Instructor

Ore de funcționare
Ore Număr întreg (1-100)
Săptămână

2. Camere – nume, tip

Tabelul 4,2 camere CSV coloane

Coloana Descrierea / Tip

nume Numele camerei Şir

Tip Tipul camerei Șir (LEC, Lab)

3. Subiecti – cod, titlu, tip, ore, afla

Tabel 4,3 subiecte CSV coloane

Coloana Descrierea / Tip

Cod scurt al
Codul Şir
Subiect
Titlu Numele subiectului Număr întreg (1-100)

Tip Tipul subiectului String (orice, LEC,


Lab)
Ore pe săptămână de Double +.5 (1,0,
Ore
subiectul 12,0)

Dacă subiectul va
afla Boolean-integer (0-1)
să fie divizate
Exemplu fișier CSV Importabil

first_trimester_subjects. csv

subiecte cod,titlu,tip,ore,afla
ENGL101,abilitati de comunicare 1,LEC,3,1
MATH101,Colegiul algebra,LEC,3,1
MATH110,Colegiul trigonometrie,LEC,3,1
CS101,Introducere în calcul,LEC,2,1
CS101L,Introducere în calcul,laborator,2,0

Aplicația oferă o modalitate de a personaliza configura ția de

funcționare pentru algoritmul genetic care poate provoca probleme de

performanță și rezultate necorespunzătoare dacă optimizat gre șit.

Computerele care vor executa sistemul trebuie să urmeze specifica țiile

minime necesare afișate mai jos. Sistemul nu este răspunzător pentru

nici un 3rd party damaGES care pot apărea din cauza utilizării

necorespunzătoare.

Tabelul 5,0 cerințe minime de sistem

Cerințe minime de sistem

Sistem de operare: Windows 7 și mai sus

Cpu: 2.0 + GHz cu suport multithreading

1 GB *
* Acest lucru se bazează încă pe
Ram:
dimensiunea scenariul și algoritmul de
configurare a se vedea capitolul 5 pentru
evaluarea consumului.
Cel puțin 1 GB spațiu disponibil *

*Fișierele generate de utilizator sunt excluse în


Spatiu pe disc:
evaluare și spațiul minim este, de asemenea,

supusă aplicării
Utilizare.
Setările algoritmului genetic

Configurația de algoritm genetic în cadrul aplica ției nu este una

pentru toate tipurile în cazul în care se poate satisface fiecare scenariu.

Acest lucru se datorează limitării puterii computa ționale. Pentru a

contracara limitarea și să fie încă în măsură să sprijine scalabilitatea

de utilizare, configurația algoritmul de rulare poate fi modificat în

funcție de capacitatea de dispozitiv sau preferin ța operatorilor.

Următorul tabel de mai jos prezintă descrierea și recomandarea pentru

fiecare proprietate de setare modificabilă a algoritmului.

Tabelul 6,0 setările algoritmului genetic

Setări Descrierea / Limita

Numărul minim și începutul de


Număr
cromozomi într-o generație. 50 (50) este
minim de 50-10000
valoarea sugerată pentru acest lucru,
populație
deoarece este

suficient de mare pentru o varietate de


soluție.
Limita pe câți cromozomi poate avea o

generație. Calcularea cât de mult poate

manipula dispozitivul de calcul

depinde de RAM. Pentru fiecare 70

Număr (70) entități active într-un scenariu


50-10000
populație (subiect, instructor, Cameră și secțiune),

va consuma un megabyte (1 MB) de

memorie pe cromozomi. Prin urmare,

dacă se utilizează 50 (50) entități și

numărul maxim de populație de o


sute (100), consumul de vârf de RAM ar

aproxima la 72 MB plus 25% din

valoarea pentru manipularea cererii

principale. Un computer low-end ar

trebui să mențină numărul maxim

scăzut de populație, se poate potrivi

minim

sugestia populației de 50 (50).


Limita de cât de multe generații

algoritmul poate produce. La atingerea

valorii setate, algoritmul se va opri.

Numărul de entități mai mari sau

Generațiile constrângerile mai complexe prezintă


50-10000
maxime scenariul, cu atât mai mare ar trebui să

fie evaluate deoarece oferă mai multe

șanse pentruinteligența artificială

pentru a remedia problemele minore

sau chiar pentru a crea o descoperire

care poate schimba întregul set de soluții.


Suma maximă de încercări pentru

inteligența artificială de a plasa un

Încercări program de subiect valabil în cromozo.


1.500-
de creare Un computer puternic poate pune o
30.000
maximă valoare mai mare pe acest lucru ca

aceasta servește mai mult ca o tactică

forța brută, care poate ajuta la creșterea

calității soluțiilor
Valoarea pragului pentru declanșarea

ajustării ratei mutației. Valoarea

controalelor pentru diferența dintre cele

mai recente de fitness medie la fitness

sale medii anterioare. Dacă diferența

Declanșare scade sub sau este egală cu valoarea


0,00-
ajustare rată setată, rata mutației va crește cu 5%,
100,00
de mutație reducând-o cu 5% dacă nu. Valoarea

poate fi setată la zero dacă operatorul nu

dorește să modifice rata de mutație

existentă de 10%. Se recomandă să

păstrați valoarea acestei setări la implicit

de 0,08 pentru a preveni

schimbări masive asupra populației.


Trăgaciul pentru terminarea

algoritmului. Odată ce un cromozomi

atinge valoarea setată, algoritmul se va

opri. Dacă se dorește o soluție perfectă

Maxim de bazată pe model, aceasta poate fi setată


0-100% din
fitness la 100%. Cu toate acestea, șansa de a

obține o soluție perfectă pe vreodatăy

combinație de model nu este garantat.

Este sugerat să plaseze o valoare optimă

pentru acest lucru, care poate varia de

la 90-98%

pentru un nivel acceptabil.


Elite Procentul de cât de mult din curent
0-100% din
Populaţiei Cea mai bună performanță a populației
cromozomi vor fi conservați până la

următoarea generație. Valoarea

sugerată pentru acest lucru este de 5%,

deoarece păstrează un număr mai mic

de cromozomi buni și ajută la

prevenirea

convergență prematură.
Măsoară bogăția setului de soluții al

populației. Fitness fiecare cromozomi

este măsurată și normalizat pentru

deviația statistică. Dacă una dintre

deviația Sigma depășește valoarea

setată, numărul populației se modifică

după cât de mult este dezactivat,


Toleranță
populația va fi redusă cu cât de mult îi 0-100% din
abatere
lipsește procentul. Acest lucru ajută la

menținerea varietate de soluții bazându-

se pe abaterea de fitness între

cromozomi. Valoarea sugerată este de

55% deoarece previne dominarea totală

a unui grup comun de

Cromosomes.

Valorile sugerate nu garantează cea mai bună combinație.

Calculul consumului spațial nu descrie pe deplin utilizarea efectivă.


Definirea termenilor

Termeni operaționali :

Cromozomi - un set de parametri care definesc o solu ție propusă

pe care algoritmul genetic încearcă să o rezolve.

Crossover- un operator genetic folosit pentru a varia de programare a

unui cromozom sau cromozomi de la o generație la alta. Este analoagă

cu reproducerea și încrucișare biologică, pe care se bazează algoritmi

genetici.

Deep Learning- o parte dintr-o familie mai largă de metode de învă țare

Machine bazate pe declarații de date de învățare, spre deosebire de

algoritmi specifice sarcinii. Învățarea poate fi supravegheată, par țial

supravegheată sau nesupravegheată.

Gene- unitatea de bază a unui cromozogen. Reprezintă o parte a unei

soluții.

Genetic algoritm- un metaeuristic inspirat de procesul de selecție

naturală care aparține clasei mai mari de algoritmi evolu ționiste (ea).

Algoritmii genetici sunt frecvent utilizați pentru a genera solu ții de înaltă

calitate pentru optimizarea și problemele de căutare, bazându-sepe

operatori bioinspirați, ar fi mutația, încrucișarea și selecția.

Genotip - reprezentarea genetică a soluției, într - o solu ție de

bază, ar putea fi reprezentată ca un șir de binar.

Machine learning- un domeniu de informatică care oferă computers

capacitatea de a învăța fără a fi programat în mod explicit.


Mutație - un operator genetic folosit pentru a men ține diversitatea

genetică de la o generație de o populație de cromozomi algoritm genetic la

următoarea. Este analoagă cu mutația biologică.

NP-complete- o clasă de complexitate în cazul în care solu țiile pot fi

verificate rapid și dacă există un algoritm rapid pentru a rezolva acest

tip de problemă, acesta poate fi folosit pentru a rezolva alte probleme NP

prea.

Phenotype-reprezentarea în lumea reală a soluției.

Populație- un set de soluții propuse.

Selecție – etapa de GA care selectează cromozomi pentru combinații viitoare.

Termeni tehnici:

Cromozomi-o moleculă de ADN cu o parte sau cu toate materialele

genetice ale unui organism.

Crossover- un punct sau un loc de trecere dintr-o parte în alta.

Gene – secvența de ADN care coduri pentru o moleculă care are o funcție.

Genotip – partea de machiaj genetic al unei celule.

Mutație – alterarea permanentă a secvenței nucleotide a genomului unui

organism.

Fenotip – compozit al caracteristicilor observabile ale organismului

sau trăsături.

Populația- toți locuitorii dintr-o anumită locație.

Selecția- e acțiunea de a alege cu atenție pe cineva ca fiind cel mai bun.


CAPITOLUL 2

REVIZUIREA LITERATURII ȘI A STUDIILOR CONEXE

Programarea calendarului universitar este o problemă

Combinatorială în care găsirea celei mai bune solu ții este dificilă

atunci când spațiul de Căutare devine mare. Știind fundalul

problemei ajută la înțelegerea de ce chiar și la epoca de calcul, rezolvarea

este o sarcină oarecum monumentale. Noțiuni de baza pentru a cunoa ște

soluțiile posibile pentru problema este , de asemenea, necesare ,

deoarece ar putea arăta unele dintre trăsăturile partajate care ar

putea duce la o descoperire în găsirea unei solu ții mai bune. În cele din

urmă, colectarea de informații cu privire la solu ția propusă va ajuta la

orientarea cercetării în formarea unei soluții mai bune .

1. Operațiuni de cercetare

Articolul publicat în universal Class [1] și în capitolul 14 din

cartea publicată în centrul IBS pentru cercetare de management [2] se

afirmă că gestionarea operațiunilor este o parte delicată a afacerii care

este responsabilă pentru procesul și calitatea muncii. Se spune că

programarea joacă un rol major în îndeplinireacerin țelor cu stomer la

timp și îmbunătățirea eficienței sistemului general. Într-un raport al R.

Dan Reid și nada r. Sanders [3], ei au spus că teoria

constrângerilor este că rezultatul unui program este determinată de

constrângerile. Pentru a evita obtinerea copleșit de constrângeri, trebuie

să identifice blocajele în procesul și să încerce să -l îmbunătă țească.


2. Condiții comune de programare în Filipine

Într-un articol de știri bazat pe universitate publicat de Althea

Gonzales și Jessy Go [4], studenții și-au exprimat reacțiile mixte cu privire

la regula de programare nou impusă a Universită ții lor . Clasele au

fost făcute mai devreme și o pauză de cincisprezece (15) de minute s-au

dat between fiecare subiect. Se spune că a fost implementat pentru a da

elevilor timp să se pregătească pentru clasele lor și să evite lipsesc.

Institutele educaționale implementează uneori propriile scheme de

programare pentru a compensa situațiile lor. Într-o recentă evaluare

independentă de știri a statutului K-12 în Filipine scris de Anne

marxze umil [5], multe Institute încă lipsesc în resursele necesare

pentru a găzdui studenți. Există încă deficite în sălile de clasă și

profesori. Aceasta include, de asemenea, școli private care au avut de a

primi un aflux bruscă de studenți susținute de sistemul de voucher. În

scopul de a rezolva problema cu privire la lipsa de resurse, în

conformitate cu un articol scris de Careen L. Malahay și TweeNY M.

Malinao [6], școlile au implementat un sistem de planificare mai scurt

pentru a crea schimburi pentru a găzdui studen ții. Efectele deficitului de

resurse pot fi, de asemenea, resimțite la nivel de colegiu. În articolul

publicat de paulyn Navarrete și illiana Tan, acesta a arătat

nemulțumiți de studenți care nu pot crea un program confortabil din

cauza câteva deschideri subiect și conflicte. Acest lucru este comun între

institutele care, desigur, nu se poate ocupa de fiecare scenariu.


3. oamenii rezolva probleme complexe: cazul problemei knapsack

Potrivit unui articol din Universitatea din Colorado [8], problema

rucsac este una dintre problemele clasice în domeniul în care programul

de calcul aparțin. Este o problemă de optimizare Combinatorială cu

scopul de a găsi ulteriort de elemente cu cea mai mare valoare totală

dintr-un set de elemente cu greutate dată și valoare supusă constrângerii

de greutate. În cercetare despre modul în care oamenii rezolva

problemele complexe scrise de Carsten Murawski și Peter bossaerts,

se constată că oamenii rezolva problema rucsac prin punerea în

aplicare a unui proces de algoritm lacomi de gândire în faza timpurie

până la mijlocul de rezolvare a problemei, urmată de o ramură și legat ca

tehnica de căutare. În experimentul în care numărul mediu de confi

gurare completă a rucsaceste 1300 81 (1.381), șansa de a ob ține solu ția

cea mai optimă este doar un 0,7%. Rezultatele studiului au arătat că

oamenii au efectuat extrem de bine cu un Scor median de 97,4%

din valoarea optimă a soluției . Cu toate acestea, este demn de

remarcat faptul că doar pentru că oamenii pot rezolva probleme rucsac

cu o soluție optimă , nu este acela și caz cu probleme de

programare .

4. Clasa de complexitate NP-completă

Problema rucsac aparține clasei de complexitate a polinoamelor

non-deterministe-timp (NP) greu. Acestea sunt probleme în cazul în care

nu există nici o soluție eficientă algoritmi încă. Timpul de calcul creste

doar pe masura ce marimea creste in functie de Stephen A. Cook [10].

Conform standardului
definirea informatician al Organizației , Paul E. Negru [11], NP-

complete este o clasă de complexitate în cazul în care solu țiile pot fi

verificate rapid și dacă există un algoritm rapid pentru a rezolva această

clasă de problemă, acesta poate fi folosit pentru a rezolva alte probleme

NP prea. Într- un articol de J.D. Ullman [12], el a spus că Găsirea cel

mai optim program sau rezolvarea programarea în sine apar ține NP-

complet problemă.

5. Modalități de rezolvare a planificării clasei universitare

Universitatea de clasă de programare problema apar ține probleme

de optimizare în cercetare operațională. Acesta este considerat ca fiind

una dintre cele mai dificile probleme cu care se confruntă universită ți și

colegii de astăzi, în conformitate cu un studiu privind obiectul de Ahmed

wasfy și Fadi a. Aloul [13]. Există mai multe abordări pentru rezolvarea

problemelor de planificare în funcție de Ellis Cohen și jarurat

ousingsawat [14]. Unele sunt doar fezabile până la un anumit nivel, ar fi

constrângerile pe care le pot manipula, obiective pentru a satisface și

timp de calcul. Cele mai frecvente abordări sunt algoritmi de construc ție

care algoritmul lacom este inclus și algoritmi de căutare în cazul în care

tabu Search, simulat annealing, de optimizare a roi de particule,

algoritm genetic și multe altele de la J Zhou, P E D Love, X Wang, K L teo

și Z Irani ' s Review privind programarea [15]. Algoritmi de construcții

poate și, uneori, amestecat cu algoritmi de căutare, ar fi lacomi și

algoritm genetic în cazul în care populația poate depinde de persoanele

generate de algoritmul lacomi.


6. Algoritmi genetici : o prezentare generală

Conform lecției lui Melanie Mitchell [16], algoritmul genetic este un

program care imită procesul evoluției biologice pentru a rezolva

problemele și pentru a modela sistemele evolutive. Spa țiul vast de

căutare a inspirat crearea algoritmului genetic. Entită țile biologice

de-a lungul anilor au avut o Adaîn mediul înconjurător pentru a fi mai

eficiente și mai eficiente. Apoi a devenit parte a valurilor timpurii de

inteligență artificială în care regulile și comportamentul sunt codificate

manual . Algoritmul este încă în uz în perioada modernă cea mai

mare parte pentru optimizarea boboculMS.

7. Fenotipuri, genotipuri, și operatori în evoluție Computing

În publicația lui David B. Fogel [17], algoritmul genetic funcționează

prin evoluția unui set de soluții în cele mai bune. Fiecare solu ție este

adesea menționată ca cromozomi. Un grup de cromozomi creează o

populație. O soluție este reprezentată în două tipuri, genotip și fenotip.

Genotipul este reprezentarea genetică a soluției, într-o solu ție de bază, ar

putea fi reprezentată ca un șir de binar. Fenotipul este reprezentarea

reală WoRLD a soluției. În calculul evolutiv, este important să converti ți

fenotipul în genotip, deoarece este mai ușor de calculat. Având o

conversie bună și corectă va ajuta cu siguranta in calculul solu ției.

8. Metode de selecție pentru algoritmii GenetIC

Procesul de algoritm genetic începe cu initializarea popula ției.

După Inițializare, evaluarea cromozomilor se face pentru a Da


Scor pe a făcut fiecare soluție efectua. În scopul de a continua în

următoarea generație de soluții, operațiunea de selecție se face. Selec ția

este procesul de selectare a cromozomilor pentru a fi utiliza ți ca părin ți

pentru a produce următoarea generație de soluții. Există mai multe

tipuri de selecție care pot fi utilizate pentru a accepta mai multe tipuri

de probleme. Unele dintre acestea sunt Ruleta roata de selec ție,

stocastice universal de prelevare, de selecție de rang liniar, exponenţială

rang de selecție, turneu de selecție și multe altele în func ție de Khalid

jebari [18]. Selecția turneelorse face prin selectarea cromozomilor

aleatoare în care va fi selectată cea mai bună performan ță. Acest lucru se

va face până când sunt selectate suficient cromozomi. Performan ța de

selecție turneu este incredibil de rapid, dar depinde de configura ția sa.

Acesta poate fie lEAD la rapid bun sau rău de convergen ță. Cu toate

acestea, presiunea de selecție este mare din cauza cantită ții de calcul

repetitiv .

9. Operatori crossover în algoritmi genetici: o revizuire

Crossover este un operator genetic care joacă unul dintre cel mai

mare rol în algoritmul gentic. Se face prin crearea unui pui bazat

pe genele părinților mimând reproducerea biologică . Există

multe modalități cu privire la modul de a efectua crossover , dar la fel

ca selecția, fiecare dintre ele are propriile lor argumente pro și

contra. Unele dintre aceste tipuri de crossover sunt standard crossover

folosind N-puncte, Shuffle, discrete, uniforme, bazate pe ordine și multe

altele în funcție de A.J. Umbarkar și poliția Sheth [19]. Crossover pe bază

de comandă este cel mai potrivit pentru problemele în cazul în care


grupurile sau modelele sunt importante. Acesta ajută la păstrarea

combinației existente în timp ce îmbunătățirea încearcă să -l

îmbunătățească.
10. Esențiale ale algoritmului genetic, studii în Intelligence computațional

Operatorul final în algoritm genetic este muta ție. Muta ția este un

operator aleator pe bază care schimbă unele Gene într - un

cromozomi. Aceasta ajută la prevenirea convergen ței timpurii prin

introducerea unor modificări aleatorii care ar putea cre ște sau mic șora

adecvarea unui cromozon. Există trei cerin țe în muta ție; reachability,

nepărtinireîndatorare și scalabilitate în conformitate cu O. Studiul lui

Kramer [20]. De obicei, se utilizează o valoare fixă pentru rata

mutației, dar varietatea adaptivă a algoritmului genetic poate schimba

valoarea din generație în generație, în funcție de situație.

Programarea este una dintre cele mai importante păr ți ale

unei afaceri. Acesta joacă un rol important în Managementul

operațiunilor, deoarece ajută Maximize eficien ța producției sau a

serviciilor. În institutele de învățământ, programarea este una dintre cele

mai mari provocări de multe ori , deoarece programele de rău duce la

studenți și dezpoate celeilalte părți. Rezolvarea problemei folosind

numai munca om pur poate destul de eficient , dar nu se va Scala.

Pentru a rezolva această problemă, de calcul programul folosind

algoritmul dreapta și constrângerile este o necesitate. Algoritmul genetic

se prezintă ca o soluție valoroasă de optimizare a căutării, cu capacitatea

sa de a manipula și manipula datele.

11. Experiența utilizatorului pentru aplicații desktop Windows

Microsoft Windows Development Center a creat principii de

proiectare [20] pentru aplicații desktop Windows. Unele dintre


considerațiile importante sunt clasificate mai jos:
 Windows -cererea ar trebui să poată suporta 800x600 pixeli

rezoluție. Acesta ar trebui să fie afișate ini țial în Centrul

ferestrei utilizatorului .

 Layout – dimensiunea controalelor și panourile dintr -o

fereastră corespund conținutului lor tipic .

 Text – Utilizați termeni obișnuiți, conversaționale și folosiți

capitalizarea în stil titlu pentru titluri în timp ce fraza-caz

pentru toate celelalte elemente UI.

 Controale -adăugați eticheta la controalele care necesită

intrare de utilizator. Utilizați tooltips pentru caracteristici

necunoscute.

 Accesibilitate – operatorul ar trebui să poată naviga în

fereastra completă utilizând tasta Tab .

 Dialoguri – dialogul trebuie să prezinte date și interacțiuni

importante.
CAPITOLUL 3

PROIECTAREA ȘI METODOLOGIA CERCETĂRII

Inteligenta artificiala este un domeniu de informatică care este

utilizat mai ales pe probleme care include precizie sau optimizare.

Cercetarea se încadrează în problema de optimizare și de evaluare a

performanței într-o verificare extinsă nu este un fezabil astfel delution.

Este important să selectați un design adecvat de cercetare și

metodologia pentru a obține viabilitatea cercetării.

Metodologia de proiectare a cercetării

Metoda selectată pentru colectarea și analizarea datelor

pentru testarea sistemului este cantitativă. Datele care trebuie colectate

sunt seturi de configurații școlare (de exemplu , subiec ți, instructori și

camere). Aceste seturi de date vor fi profilate după ce sunt utilizate în

sistem. Rezultatele profilurilor determină performan ța sistemului prin

efectuarea unei evaluări bazate pe sisteme de inteligență artificială .

Metoda de dezvoltare software

Dezvoltarea iterativa ca o metoda de creare a software-ului se

potriveste pentru un mediu in continua schimbare pentru dezvoltarea

inteligenta artificiala . Acest lucru permite dezvoltatorului să înve țe

fiecare iterație și se aplică la instanța viitoare. Această metodologie este

potrivită pentru cercetare , deoarece sistemul se bazează pe


tweaking și gestionarea constrângerilor. Fiecare iterație este un accesoriu

pentru sistemul care se va repeta până când sistemul oferă rezultatul

său așteptat.

Figura 4,0 metodologia de dezvoltare iterativa

Planificarea inițială a fost realizată prin proiectarea arhitecturii

sistemului, schematice de date și modele. La introducerea unei itera ții,

caracteristica de făcut este decisă și planificată. Există două tipuri de

iterații utilizate; Adăugațio caracteristică sau un model și valori

tweaking. Scopul fiecărei iterații este apoi implementat și apoi testat

manual.

Metoda de evaluare a software-ului

Metodologia de evaluare selectată pentru cercetare este o

combinație de metode Monte Carlo și Modelling surogat. Este o

metodologie experimentală ca evaluare pentru sistemele de programare

evolutive bazate pe calcul sunt încă să fie făcut.

Metodele Monte Carlo sunt o clasă de algoritmi computa ționale

care utilizează eșantionarea aleatorie repetată pentru a ob ține


rezultate numerice . Acesta este adesea folosit în cadrul de optimizare

și probabilitatea de seturi de probleme. Acesta acționează prin tweaking

valoarea inițială și încearcă să produce o soluție de la ea.


Modelare surogat este adesea folosit în domeniul știin ței și

inginerie în cazul în care rezultatul nu poate fi u șor măsurată direct,

astfel încât un model este folosit în schimb. Un exemplu de acest lucru

este de a găsi un design optim pentru o masina luidinamicii aerod.

Calculul performanței design-ului cu viața reală ca simulările este

costisitoare, astfel, în schimb, un model de emulator este folosit. Acest

lucru, în general, funcționează prin crearea unei aproximare a

modelelor care imită comportamentul real model cât mai aproape

posibil fără necesitatea unei evaluări mai scumpe .

Punerea în aplicare a metodei Monte Carlo și a modelelor de

substituție surogat pentru evaluarea sistemului de planificare a

inteligenței artificiale , în special studiul cercetătorului trebuie să urmeze

următorii pași:

1. Generarea unui set de soluții folosind metoda Monte Carlo cu

setările algoritmului genetic ca variabile care pot fi tweaked.

2. Crearea unui model surogat care utilizează doar matricea de evaluare

ca bază.

3. Calculul fiecărui set de soluții generate de diferen ța de metodă Monte

Carlo pentru modelul surogat .

4. Furnizarea medie a rezultatului ca bază pentru performan ța

deinteligenta arta ificial (scenariu bazat).

Utilizarea metodei Monte Carlo în sistem este pentru

generarea de configurare a algoritmului genetic aleatoriu. Utilizarea de


modelare surogat pentru această cercetare face uz de un imaginar 1-

dimensional metrice bazing pe


evaluare a matricei. Modelul va servi ca bază pentru evaluarea apropierii

soluției la cel ideal. În combinație cu metodologia de evaluare a software-

ului, utilizând pașii de mai sus, culegerea de date s-ar înclina în direc ția

aprobarii centrate pe date. Acest lucru este de a oferi concluzii corecte în

ceea ce privește încheierea cercetării. Datele propuse care urmează să fie

colectate sunt cele care urmează să fie utilizate de către evaluarea de mai

sus, care vor fi compuse din cele mai multe rezultate de performan ță

grad (fitness).
CAPITOLUL 4

PREZENTAREA, ANALIZAREA ȘI INTERPRETAREA DATELOR

Utilizarea modelării surogat și combinarea acesteia cu metoda

Monte Carlo a prezentat mai multe date pentru interpretare.

Următoarea cifră de mai jos prezintă lan țul de colectare a datelor și

metodologia de evaluare pentru un model:

Figura 5,0 arborele de evaluare (filiala simplificată)

Vor fi trei (3) modele care vor fi utilizate listate pe tabelul de mai

jos. Pentru fiecare model, vor exista trei (3) scenarii. Pentru fiecare

scenariu, vor exista trei (3) valoarea generat aleator de setări. Este

important de reținut că va exista doar o genera ție de Time de valori

aleatoare pentru setările și cele trei (3) generat valori vor fi utilizate

pe tot parcursul scenarii pentru a preveni părtinire în rezultat. Pentru

fiecare setare, nu va fi de cinci (5)


setul de rezultate generat. În total, va exista 135 sollitiu stabilit pentru

evaluare, care va fi abstrted pe nivel.

Tabelul 7,0 matricea de evaluare selectată

nume Matrice
Plasarea subiectului 16

Pauza de pranz 14

Secțiunea odihnă 14

Distribuție echilibrată Ora de inactivitate a 14


secțiunii
Instructor de odihnă 14

Instructor de încărcare 14
echilibru
Model întâlnire 14

Plasareasubiectului 100%

Pauzade pranz 0%

Restulsecțiunii 0%

Plasarea subiectului Secțiune timpinactiv 0%

Instructor de odihnă 0%

instructor de încărcare echilibru

0% model de

întâlnire0%
Plasareasubiectului 20%

Pauzade pranz 0%

Restulsecțiunii 20%

Constrângeri strânse Secțiunea timpinactiv 20%

Instructor de odihnă 20%

instructor de încărcare echilibru

20% model de întâlnire 0%


Randomizarea are o sumă setată de valori posibile pe baza

capacității optime a calculatorului și a valorilor sugerate din setările

algoritmului genetic (tabelul 6,0 setări de algoritm genetic) care pot fi

vizualizate în tabelul de mai jos:

Tabelul 8,0 Random Setări Limitație

nume Limita

Număr minim de populație 50-200

Număr maxim de populație Număr minim de populație-200

Generațiile maxime 50-150

Încercări de creare maximă 1500-4500 ani

0.00-1.00 în cazul în care valoarea


Declanșare ajustare rată de mutație este împărțită

cu cinci (5)
Maxim de fitness 90-100

Populația Elite 0-10% din

Toleranță abatere 50-75% din

Folosind randomizare furnizate mai sus, aici sunt cele trei seturi

de setări de algoritm genetic:

Tabel 9,0 Setări aleatorii

Intrar Matrice
e
Minim Ajustarea ratei mutației
63 .09
Număr populație Declanşa
#1
Maximă
84 Maxim de fitness 96%
Număr populație din
Maximă
64 Populația Elite 6
Generaţii

Maximă

Încercări 1.873 Toleranță abatere 57%


din
de creare

Minim
Declanșare ajustare rată
Număr 79 .05
de mutație
populație

Populația

maximă 148 Maxim de fitness 93%


din
#2 Conta

Maximă
89 Populația Elite 7
Generaţii

Maximă

Încercări 2.279 Toleranță abatere 69%


din
de creare

Minim Ajustarea ratei mutației


78 .11
Număr populație Declanşa

Maximă
96 Maxim de fitness 95%
Număr populație din

#3 Maximă
63 Populația Elite 2
Generaţii

Maximă

Încercări 1.513 Toleranță abatere 63%


din
de creare
Există trei (3) scenarii pregătite pentru evaluare. Cele trei scenarii

sunt imitație de curriculum pentru fiecare trimestru de pe ama

computer College las Piñas au (apendicele C) pentru CS, it și CPE

cursuri. Fiecare scenariu au 91, 93 și 95 entită ți respectively. Aceste

entități sunt instructori activi, camere, subiecte și sec țiuni. Fiecare

model de mai jos prezinta versiunea sintetizata a fiecarui scenariu.

Sintetizarea include calculul de min, Max și media de fitness total de

fiecare rezultat din toate setările.

Modelul 1: distribuție echilibrată

Tabelul 7,1 echilibrat de


distribuție

nume Matrice

Plasarea subiectului 16

Pauza de pranz 14

Secțiunea odihnă 14

Ora de inactivitate a 14
secțiunii
Instructor de odihnă 14

Instructor de încărcare 14
echilibru
Model întâlnire 14

Folosind modelul actual, nicio soluție de scenariu nu a reu șit să

atingă soluția maximă posibilă. Distribuția priorită ții a făcut ca

inteligența artificială să aibă un timp greu de echilibrare a tuturor

constrângerilor. La masă
de mai jos arată performanța algoritmului pentru fiecare scenariu în

evaluarea setărilor combinate.

Tabelul 10,1 model 1 Sumar

Scenariu Cea mai mare Medie Cel mai mic Medie

Fitness Fitness Fitness Timp

1 84,45 80,32 78,61 21:28

(Setări 2)

2 84,50 81,01 78,94 23:30

(Setări 2)

3 84,48 80,67 79,0 22:48

(Setări 2)

Modelul 2: plasarea subiectului

Tabelul 7,2 Plasarea subiectului evaluare Matrix

nume Matrice

Plasarea subiectului 100% din

Pauza de pranz 0

Secțiunea odihnă 0

Ora de inactivitate a 0
secțiunii
Instructor de odihnă 0

Instructor de încărcare 0
echilibru
Model întâlnire 0

Fiind unul dintre cel mai simplu model, inteligenta artificiala a fost

capabil să se adapteze cu ușurință, deoarece nu trebuie să vă faceți griji


cu privire la alte constrângeri atunci când
plasarea entităților. Acesta a arătat superioritatea sa privind

initializarea populației pentru a oferi acceptable soluții, chiar dacă

acesta este doar incepand.

Tabelul 10,2 model 2 Sumar

Scenariu Cea mai mare Medie Cel mai mic Medie

Fitness Fitness Fitness Timp

1 100,00 99,69 97,15 4:29

(Setări 1)

2 100,00 99,16 93,46 5:19

(Setări 1)

3 100,00 99,69 97,15 5:16

(Setări 1)

Modelul 3: constrângeri strânse

Tabelul 7,3 constrângeri strânse de evaluare Matrix

nume Matrice

Plasarea subiectului 20

Pauza de pranz 0

Secțiunea odihnă 20

Ora de inactivitate a 20
secțiunii
Instructor de odihnă 20

Instructor de încărcare 20
echilibru
Model întâlnire 0

Al treilea model care poate fi considerat cel mai apropiat de


programul real în ceea ce privește capacitatea de software a fost în

măsură să evalueze soluțiile care sunt mult


mai bine decât primul model, în ciuda având aceea și natură de echilibru

în prioritizarea constrângerilor. Acest lucru a arătat sistemul a fost

capabil de a crea soluții care nu încalcă prea mult constrângere.

Tabelul 10,3 model 3 Sumar

Scenariu Cea mai mare Medie Cel mai mic Medie

Fitness Fitness Fitness Timp

1 88,87 87,22 85,74 21:27

(Setări 2)

2 89,35 87,66 85,94 23:32

(Setări 2)

3 89,09 87,44 85,84 24:33

(Setări 2)

Modelele au arătat că inteligența artificială a reu șit să facă fa ță

problemei. Fiecare Setări a produs un răspuns variabil, dar au arătat că

din datele colectate, setările mai mari pot produce rezultate de calitate

superioară.
CAPITOLUL 5

REZUMAT, CONCLUZIE ȘI RECOMANDARE

Rezumatul constatărilor

Utilizarea modelelor a fost menită să testeze capacită țile

inteligenței artificiale. Judecând după performan ța rezultatelor în

comparație cu modelele, sistemul a reușit să genereze ioni de soluţiecare

au cel puțin 80% fitness (bazându-se pe setul de solu ții cele mai mari pe

scenariu). Problema constă în incapacitatea inteligen ței artificiale de a

efectua corecții minore la ajustarea orarelor (a se vedea categoria de

rezultate a generației "C"). Cu toate acestea, algoritmul a fost capabil

să satisfacă majoritatea intrărilor din matricea de evaluare.

Lipsa de testare în modele și cantitatea de model în sine nu arată

capacitățile exacte și limitarea sistemului. Cu generarea de rezultate de

la un (1) model, trei (3) Setări și un (1) scenariu de a lua aproape o oră,

există doar o Cantitate limited de date care pot fi utilizate pentru

evaluare. Cu toate acestea, este corect să spunem că sistemul a efectuat

la capacitatea sa, în ciuda limitărilor impuse de configura ția algoritmului

Este important de reținut că valorile aleatorii generate

pentru Setări au fost limitate, prin urmare, sistemul nu a reu șit

să efectueze la apogeul său . Partea


cantitate imensă de combinații posibile pentru generarea sistemului au

făcut găsirea de evaluare efectivă evaziv.

Concluzie

Rezultatele au arătat că sistemul poate furniza solu ții valide

care pot fi utilizate. Cu toate acestea, nu oferă automatizare

complete . Există încă scenarii care ar necesita operatorul pentru a

ajusta unele intrări pentru a crea o soluție perfectă .

Sistemul a fost, de asemenea, conceput pentru a fi simplu și

direct. Acest lucru elimină orice confuzie cauzată de o interfa ță de

utilizator împrăștiate controls și face uz de software-ul complet utilizate.

Simplitatea sistemului și introducerea obiectivului și a

performanței algoritmului configurabile au redus necesitatea unor

constrângeri atât de mari pe măsură ce soluțiile sunt făcute în mod

dinamic. Acest lucru permite utilizatorilor să utilizeze cu u șurin ță și să

experimenteze cu aplicația până când găsesc potrivire perfectă pentru

scenariul lor.

Cantitatea mare de combinații pentru testare, în scopul de a găsi o

evaluare exactă pentru aplicarea sa dovedit a fi departe de posibilitatea.

Cu toate acestea, se poate concluded că de la modelele furnizate,

sistemul a fost capabil de a genera rezultate care, în ciuda fiind imperfect

încă
rămâne valabilă și acceptabilă, având în vederea numărul de constrângeri

care i-au fost impuse.

Soluțiile pe care sistemul le va furniza vor depinde în mare

măsură de configurația de execuție și de matricea de evaluare. S-ar

putea găsi o soluție perfectă în cazul în care cererea a fost dat EnoUgh

timp și puterea de calcul. Evaluarea completă a sistemului va rămâne

greu de rezolvat, deoarece libertatea de configurare a algoritmului a

oferit o cantitate mare de combinații. De asemenea, se poate deduce că

evaluarea utilizând alte metodologii va genera aceea și cantitate de

rezultat.

Recomandare

Scopul cercetătorului a fost de a dezvolta o solu ție pentru

problema de calendare. Cu toate acestea, acest lucru nu înseamnă că

este predăm fi utilizate pentru fiecare caz în care sunt implementate

mai multe constrângeri decât cele disponibile în sistem. Cercetătorul

recomandă cu tărie utilizarea altor soluții de calendare pentru nevoi mai

complexe și constrângerilor până la dezvoltarea în continuare

asistemului de e xistentă. Cu toate acestea, utilizarea sistemului este

încă promovat, deoarece este mai ușor de utilizat decât alte solu ții.
Bibliografie

[1] "Utilizarea managementului operațiunilor", clasa universală. Adus de

la https://www.universalclass.com/articles/Business/The-usage-

of-Operations-Management. htm

[2] "Managementul operațiunilor: capitolul 14", centrul IBS pentru

cercetare management. Adus de la

http://www.icmrindia.org/Courseware/Operations%20Management%

202nd %2 0 Edition/Operations %2 0 programarea. htm

[3] R. Dan Reid și nada R. Sanders, "Operations Management: capitolul

15", 2010. Adus de la

www.CSUS.edu/indiv/b/blakeh/MGMT/Documents/opm101chapter

15

_ 000. ppt

[4] Althea Gonzales și Jessy Go, "clasele anterioare, pauze mai lungi

trage reacții mixte", 2014 iunie.

Preluad de la http://thelasallian.com/2014/06/10/earlier-

classes-longer-Breaks- Draw-mixt-reacții/

[5] Anne Marxze umil, "anul școlar nou, aceleași probleme vechi: K la

12, deficitul în sălile de clasă, profesori", 2017 iunie. Adus de la

http://bulatlat.com/Main/2017/06/06/New-School-Year-Old-

probleme-k-12-deficitul-classrooms-profesori/

[6] Paulyn Navarrete și illiana Tan, "probleme persistente cu care se

confruntă în timpul Enlistment", ianuarie 2015.

Adus de la http://thelasallian.com/2015/01/29/in-

Review-persistent-issues- cu care se confruntă-în timpul-Enlistment/


[7] Careen L. Malahay și Tweeny M. Malinao, "școala elementară

scurtează clasele pentru a găzdui elevi", 2012 iunie. Adus de la

http://newsinfo.Inquirer.net/207699/Elementary-School-Shortens-

Class-to-găzdui-elevi

[8] "Knapsack problemă algoritmi", Universitatea din Colorado, Denver,

mai 2017. Adus de la

http://math.ucdenver. edu/~ sborgwardt/wiki/index.

php/Knapsack_P roblem_Algorithms

[9] Carsten Murawski și Peter Bossaerts, oamenii rezolva probleme

complexe: cazul problemei knapsack , octombrie 2016. Preluat

de la https://www. Nature.com/articles/srep34851/

[10] Mihai adrian Cook, "o Prezentare generală a complexită ții

computaționale ", iunie 1983.

Adus de la https://dl.ACM. org/citat. cfm?

doid = 358141.358144

[11] Paul E. Black, "NP-complete", 2016 decembrie. Adus de la

https://xlinux.nist.gov/dads/HTML/npcomplete.html

[12] J.D. Ullman, "probleme de programare NP-complete", 1975 iunie.

Adus de la

http://www.sciencedirect.com/science/article/pii/S0022000075800

080

[13] Ahmed A Fostfy și Fadi A. Aloul, "rezolvarea problemei clasei

universitare de programare folosind tehnicile avansate de ILP". Adus

de la

http://citeseerx.ist.PSU.edu/viewdoc/download;jsessionid=83CF2A33

80eb4e45c5b2241036c7fae2? doi = 10.1.1.140.3740 & Rep = rep1 &

Typ e = PDF
[14] Ellis Cohen și Jarurat ousingsawat, "o introducere în algoritmi

pentru rezolvarea problemelor legate de program", 2015 ianuarie.

Adus de la http://www.Project.net/Introduction-algorithms-

SOLVING-program-Related-probleme

[15] J Zhou, P E D Love, X Wang, K L teo și Z Irani, "o revizuire a

metodelor și algoritmilor pentru optimizarea planificării construc ției",

2013 martie. Adus de la

https://link.Springer.com/article/10.1057/jors.2012.174

[16] Melanie Mitchell, "algoritmi genetici: o prezentare generală", 1995.

Adus de la

http://ohm.ecce.admu.edu.ph/wiki/pub/Main/ResearchProjects/mit

chell_GA_tutorial. pdf

[17] David B. Fogel, "fenotipuri, genotipuri, și operatori în evolu ție de

calcul". Adus de la

https://PDFs.semanticscholar.org/1db9/a59ebe9b4808722fee55601

b eb8e2eda5064. pdf

[18] Khalid jebari, " metode de selecție pentru algoritmi

genetici ", decembrie 2013.

Adus de la https://w w

w.ResearchGATE.net/Publication/259461147_Selection_Me

thods_for_Genetic_Algorithms

[19] A.J. Umbarkar și poliția Sheth, "operatorii crossover în algoritmi

genetici: o recenzie", 2015 octombrie. Adus de la

http://ictactjournals.in/Paper/IJSC_V6_I1_paper_4_pp_1083_1092. p

DF
[20] O. Kramer, "genetic algoritm Essentials, studii în Computational

Intelligence capitolul 2", 2017. Adus de la

www.Springer.com/CDA/Content/document/cda_downloaddocument

/ 9783319521558-C2. pdf

[21] Microsoft, "UX lista de verificare pentru aplicatii desktop". Adus de

la

https://MSDN.Microsoft.com/library/Windows/Desktop/dn742479.a

s px
Apendicele A

scrisori
Apendicel
e B titlul
propunerii
Apendicele
C Colegiul
curriculums
Apendicele
D ieșire
eșantion
Anexa E
program
Listing
Apendicele F
rezultate
aplicație
Apendice
le G
Gantt
Chart
Apendicele H
curriculum
vitae
Apendice
le I
permisul
final