Кіріспе

Жұмысқа лайықты функция – бұл мақсатты функцияның бір түрі, ол берілген жобалық шешімнің белгіленген мақсаттарға қаншалықты жақын екенін бір көрсеткіш ретінде қорытындылайды. Жұмысқа лайықты функциялар эволюциялық алгоритмдерде (ЭА), мысалы, генетикалық бағдарламалау және генетикалық алгоритмдерде, симуляцияларды оңтайлы жобалық шешімдерге бағыттау үшін қолданылады. ЭА саласында әр жобалық шешім әдетте сандар тізбегі түрінде ұсынылады (хромосома деп аталады). Әрбір сынақ немесе симуляциядан кейін, ең нашар жобалық шешімдерді жойып, ең жақсы жобалық шешімдерден жаңаларын жасау қағидасы қолданылады. Сондықтан, әр жобалық шешімнің жалпы талаптарға қаншалықты сәйкес келетінін көрсету үшін, оған баға берілуі керек, және бұл баға сол шешімнен алынған сынақ немесе симуляция нәтижелеріне жұмысқа лайықты функцияны қолдану арқылы жасалады. Жұмысқа лайықты функциялардың екі негізгі класы бар: бірі – жұмысқа лайықты функция өзгермейтін, мысалы, белгілі бір функцияны оңтайландыру немесе белгілі бір сынақ жиымымен сынау; және бірі – жұмысқа лайықты функция өзгермелі, мысалы, нишалық дифференциация немесе сынақ жиымын бірге дамыту. Жұмысқа лайықты функцияларды қарастырудың тағы бір жолы – жұмысқа лайықты ландшафт, ол әрбір мүмкін хромосоманың жұмысқа лайықтылығын көрсетеді. Бұдан әрі, жұмысқа лайықтылықтың оңтайландыру барысында өзгермейтін бағалау негізінде анықталатыны болжанады. Жұмысқа лайықты функцияның міндетті түрде абсолютті мәнді есептей білуі қажет емес, кейде жақсысын таңдау үшін үміткерлерді салыстыру жеткілікті. Кейбір жағдайларда, мысалы, турнирлік таңдау немесе Парето оңтайландыруы сияқты, жұмысқа лайықтылықтың салыстырмалы көрсеткіші (үміткер a, үміткер b-ден жақсы) жеткілікті.

Бағалау және жарамдылық функциясының талаптары

Бағалау және жарамдылық функциясын есептеу сапасы ЭА оптимизациясының сәтті болуы үшін өте маңызды. Ол Дарвиннің «ең жақсылар тірі қалады» принципін іске асырады. Жұптасу үшін және ұрпақтарды қабылдау үшін жарамдылыққа негізделген таңдау механизмдері болмаса, ЭА іздеуі соқыр болады және Монте-Карло әдісінен ажырату қиынға түседі. Жарамдылық функциясын құрғанда, оның тек қана қажетті күйді сипаттаудан гөрі көбірек екенін ескеру қажет. Керісінше, оңтайлы жағдайға қарай эволюциялық іздеуді мүмкіндігінше қолдау керек (қосымша мақсаттарға арналған бөлімді де қараңыз), егер бұл жарамдылық функциясымен ғана жасалмаса. Жарамдылық функциясы дұрыс емес жобаланса, алгоритм қате шешімге келеді немесе тіпті жақындаса алмайды. Жарамдылық функциясын анықтау көп жағдайда тікелей емес және ЭА шығарған ең жақсы шешімдер қажетті нәтиже бермесе, көбінесе итеративті түрде орындалады. Интерактивті генетикалық алгоритмдер осы қиындыққа бағалауды әдетте адамдар болатын сыртқы агенттерге жүктеу арқылы шешім табады.

Көп мақсатты оңтайландыру

Практикалық қолданбалар көбінесе бірнеше және кем дегенде жартылай қайшы келетін мақсаттарды оңтайландыруға бағытталған. Осы мақсатта екі түбегейлі түрлі тәсіл қолданылады: Парето оңтайландыру және салмақты қосынды арқылы есептелген сәйкестікке негізделген оңтайландыру.

Салмақты сома және айыппұл функциялары

Салмақты сома арқылы оңтайландыру кезінде, мақсаттардың жеке мәндері алдымен салыстыру үшін нормаландырылады. Бұл шығындар арқылы немесе мақсатты мәндерді анықтап, ағымдағы мәнді орындалу дәрежесі ретінде бағалау арқылы жасалуы мүмкін. Шығындар немесе орындалу дәрежелері бір-бірімен салыстырылып, қажет болған жағдайда бірыңғай жарамдылық шкаласына келтіріледі. Жалпы алғанда, жарамдылық максимизацияланатын мәнді білдіреді деп есептеледі. Әрбір мақсатқа пайыздық түрде салмақ беріледі, сонда жалпы шикі жарамдылық салмақталған сома ретінде есептеледі: шектеулерді бұзу жазалау функциялары арқылы осылайша анықталған жарамдылыққа енгізілуі мүмкін. Осы мақсатта, әр шектеу үшін бұзу дәрежесіне байланысты аралықта мән қайтаратын функция анықталады, егер бұзу болмаса, нәтиже нөлге тең болады. Бұрын анықталған шикі жарамдылық жазалау функциясына көбейтіліп, соңғы жарамдылық алынады. Ерітінділер жиынтығын бірден қарастыратын эволюциялық алгоритмдердің (ЭА) Парето майданын жеткілікті түрде қамтитын шешімдерді бір ретте табуға өте қолайлы екендігі ертеден-ақ байқалды. SPEA2-ден басқа, NSGA II және NSGA III стандартты әдістер ретінде қалыптасқан. Парето оңтайландырудың артықшылығы – салмақты сомадан айырмашылығы, ол мақсаттар бойынша эквивалентті барлық баламаларды жалпы шешім ретінде ұсынады. Кемшілігі – баламаларды визуализациялау төрт мақсаттан асса қиынға соғады немесе тіпті мүмкін емес. Сонымен қатар, мақсаттар саны артуымен күш-жігер де экспоненциалды түрде өседі. Егер мақсаттар үш немесе төрттен көп болса, кейбіреулерін салмақты сома немесе басқа агрегациялық әдістерді қолдану арқылы біріктіру қажет. Бұл сол жақтағы суретте көрсетілген. Жасыл Парето майданындағы нүктеге салмақтар және арқылы жетеді, егер ЭА оптималдыққа жақындасса. Ерітінділер жиынтығындағы ең үлкен жарамдылықты қамтамасыз ететін бағыт сызылған жебелермен көрсетілген. Бірақ, егер майдан дөңес болмаса, салмақты сомамен дөңес емес бөліктерге қол жеткізу мүмкін емес. Оң жақтағы суретте бұл нүктелер арасындағы бөлік. Бұл салмақты соманың кеңейтілген түрі – каскадтық салмақты соманы қолдану арқылы шешілуі мүмкін. Тапсырманың өзінен туындайтын негізгі мақсаттарға қоса, бағалау кезінде бір немесе бірнеше негізгі мақсаттарға қол жеткізуді қолдау үшін қосымша мақсаттарды қосу қажет болуы мүмкін. Мысал ретінде жоспарлау тапсырмасы қолданылады. Оптимизациялау мақсаттарына барлық тапсырыстарды жылдам өңдеу және соңғы аяқталу уақытына сәйкестік кіреді. Соңғысы, әсіресе, шұғыл тапсырыстарды жоспарлау үшін маңызды. Екінші мақсатқа, көрнекі бастапқы кестеде көрсетілгендей, қол жеткізілмейді. Келесі мутация бұл жағдайды өзгерте қоймайды, бірақ жұмыс кезеңін d ертерек жоспарлайды, бұл реттіліктің соңғы жұмыс кезеңінің e ертерек басталуы үшін қажетті аралық қадам. Бірақ, егер тек соңғы аяқталу уақыты бағаланса, мутацияланған кестенің жарамдылығы өзгермейді, тіпті ол тапсырысты уақтылы аяқтау мақсатына қадам болып табылады. Бұл мәселені, мысалы, жұмыс кезеңдерінің кешіктірілуін қосымша бағалау арқылы шешуге болады. Жаңа мақсат – қосымша, өйткені ол нақты оңтайландыру мақсаттарына қолдау көрсету үшін енгізілді. Бұл тәсілдің толық сипаттамасы мен тағы бір мысал басқа жерде табылады.