170 likes | 301 Views
Aplication of Genetic algorithm. Bài toán lập lịch thi. Phát biểu bài toán. Xếp v sự kiện ( môn thi ) vào s khoảng thời gian (time slot). Tổng quan hơn ta có định nghĩa : E – Tập hữu hạn v sự kiện ( , ,…., )
E N D
Aplication of Genetic algorithm Bàitoánlậplịchthi
Phátbiểubàitoán • Xếp v sựkiện (mônthi) vào s khoảngthờigian (time slot). Tổngquanhơn ta cóđịnhnghĩa: E – Tậphữuhạn v sựkiện (,,….,) T – Tậphữuhạn s khoảngthờigian (,,…,) • Gọimộtsắpxếplàmộtcặpcóthứtự (a,b) saocho a € E và b € T (sựkiện a xảyratrongkhoảngthờigian b) • Ngoàirabàitoántheonhiềuràngbuộcvàmụctiêucầnphảithỏamãn.
Cácloạiràngbuộc • Ràngbuộccạnh: + Haisựkiệnkhôngthểcùngxảyra ở cùngmộtthờiđiểmtươngđồngvớibàitoántômàuđồthị + Theo trên, lậpsựkiện E làtậpđỉnhcủađồthị, khoảngthờigian T làtậpcácmàuđểtôcácđỉnhđồthị. + Ràngbuộcnàybiểudiễnmộtcạnhgiữacácđỉnhvàvàbàitoánđượcquyvềbàitoántômàucácđỉnh.
Cácloạiràngbuộc (continue) • Ràngbuộcthứtự: + Cácràngbuộcthứtựthườngxuyênxảyratrongbàitoánlậplịchthi. + Nếunhưkhôngcóràngbuộcthứtựmộtbàitoánlậplịchthicóđặcđiểmlàbấtkỳlờigiảinàocũngthỏamãnvớisựhoánvịcủacáckhoảngthờigian.
Cácloạiràngbuộc • Ràngbuộcvềkhônggian: +Trongmộtsốtrườnghợp, vídụnhưmộtsốmônthicóthểđượcsắpxếp ở cùngmộtthờiđiểmvàsửdụngchungmộtphònglớn. +Tuynhiênmộtsốsựkiện (mônthi) khôngthểsửdụngchungphòng ở cùngmộtthờiđiểm.
Môhình GA tổngquátchobàitoán • Cáchbiểudiễnbàitoán: +Việclựachọnmột NST làmộtdanhsáchcóthứtựcácsố. Một NST trongbàitoánnàycóđộdàilà v (sốmônthi) trongđómỗi gen cóthểlàmộtgiátrịtrong(,,…,) • Khichúng ta đồngthờixếpnhiềuhơn1 chiều, vídụvềcảphòngthivàgiámthị ta cóthểápdụng 1 NST: +Đoạnđầu NST: làdanhsáchcácsốcóđộdài v, mỗithànhphầnnằmtrongmộtkhoảng (1,s). +Phầnthứhai NST: làmộtdanhsáchcủacácsốcóđộdài v, mỗiphầntửlàmộttrongkhoảng (1,c) (c- sốphòng)
Giảiquyếtcácràngbuộc • Vớicácloạitrừ (Exclusions) + Khônggiantìmkiếmbịgiảmđibởivìtậpkhônggianchsựkiệnđónhỏhơnkhônggiantìmkiếmtốiđa. + Môtảtìnhhuống: S = {{(,),…..,(,)}:€ ,……, € + Giảiquyếtcácloạitrừtrongphạm vi Gas chobàitoánnếudữliệucầnthiếtđượcchotrước, chúng ta cóthểđiềuchỉnhcác a-lencủamỗi gen mộtcáchhợplý. Vậynênvídụmộtđộtbiếncủa gen chỉcóthểlàmộtsựsắpxếptừ
Giảiquyếtràngbuộcvềkhônggian • Đểgiảiquyếttìnhhuốngnhiềumônthidiễnracùngmộtthờiđiểmvàtổngsốsinhviênvượtquákhảnăngchứacủa 1 phòng ,cóthểmãhóathông tin vềphòngthitrong NST vàxemnólàmột. ràngbuộccứng. • Môtảtìnhhuống: • Giảsửcómộttậpsựkiện (mônthi) E, vớimỗisựkiện e cómộttậpđịađiểmcóthểsửdụnglà L. • Lịchthihợplệlàmộttập S: • S = {{(,),…..,(,)}:€ ,……, €
Khởitạo + Chọnngẫunhiên€ T và€ L (trongđó L – tậphữuhạncácphòngthicóthểsửdụng) nếuphảichọnphòng. + Saukhihởitạocác gen trong NST đềulàhợplệ, GAs chỉcầnlựachọn, sinhsản(laighép, độtbiến) vàlượnggiácácthếhệ.
Táisinh (Recombination) • Bất kỳràngbuộc (,) nàocũngcóràngbuộcgiátrịđượcgáncho 2 sựkiện (mônthi). • Nếutồntạinhiềuràngbuộcgiữacácthànhviêncủamộttập con của1 mônthithìítsẽítsựsắpxếptươngthíchchocácthànhviêncủatập con này. • Tậpcácsắpxếpcủacácmônthinhưvậycóthểlàmộttậpcóíchvàcónghĩakhisắpxếpcáckhốinhỏbằngcáchsắpxếp NST saochocácsựkiệnchiếmgiữmộtsốvùng. • Việclàmchokhốitiềmnăngngắnđirấtcóíchkhisửdụngcáctoántửlaighép 1 điểm, 2 điểm.
Độthíchnghi • Cho trướcmộtkhônggian P chứacáclờigiảicủamộtbàitoán, khiđócóbathuộctínhmongđợichohàmthíchnghi f(p)(p c P): • - f(p) làmộthàmtăngtheochấtlượngcảulờigiải p cuabàitoán. • f làhàmsaochogiátrịcủanócómộtthông tin nàođóvềchấtlượngcủalờigiảip. • f thayđổitheocáchnàođóđểphảnánhđượcchấtlượng p khimà p tiếntớigầnlờigiảitốiưu.
Độthíchnghi (continue) • Một lịchthibấtkỳthỏamãntấtcảràngbuộclàmộtlịchthitốiưu.Cóthểchọnviệcsửdụngmôtphươngphápnàođótỉlệnghịchvớisốlượngràngbuộcbị vi phạm. Vídụnếu V(n) làsốlượngràngbuộcbị vi phạmđốivớilờigiải p thìnênchọn: f(p) = 1/(1+V(p)) • Tuynhiênhàmtrênxemtấtcảràngbuộcnhưnhauvàkhôngchobiếtmứcđộ vi phạmràngbuộc. • Mộtgiảiphápkhác: f(p)=1/(1+) Ưuthếcủahàm: cóthểtíchhợpbấtkỳcácràngbuộcnào.
Độtbiếnthông minh • Độtbiếntheohướng vi phạm: Chọnmộtsựkiệnvớitổngđiểm vi phạmlớnnhấtvàthayđổithờigianđãđượcgánchosựkiệnmộtcáchngẫunhiên. • Độtbiếngiảiphóngsựkiện: Chọn1 sựkiệnvớitổngđiểm vi phạmlớnnhất.Rồigánchonómộtthờigianmớimànósẽgiảmtốiđađiểm vi phạmnày, nhưvậysựkiệnsẽđượcgiảiphóngkhỏiphạm vi vốncó.
Độtbiếnthông minh(continue) • Độtbiếntheohướng vi phạmxácsuất: Chọntheoxácsuấtcủamộtsựkiện, ưutiênnhữngsựkiệncótổngđiểm vi phạmcaohơnvàngẫunhiênthayđổikhoảngthờigianđãgánchosựkiệnđó. • Độtbiếngiảiphóngsựkiệnxácsuất: + Chọntheoxácsuấtcủamộtsựkiện, sauđóchọntheoxácsuấtmộtkhoảngthờigianmớichosựkiệnnày. + Cáctoántửđộtbiếnnàycóthểđượcđịnhnghĩachocác gen “phòng”, “giáoviên”
Độtbiến • Vớixácsuất p, sựngẫunhiêncủaphònghọc/thờigiancủamộtlớp. • Naive random random
Crossover(Lai ghép) Parent 1 Crossover Schedule Parent 2