Кіріспе
Жұмысқа лайықты функция – бұл мақсатты функцияның бір түрі, ол берілген жобалық шешімнің белгіленген мақсаттарға қаншалықты жақын екенін бір көрсеткіш ретінде қорытындылайды. Жұмысқа лайықты функциялар эволюциялық алгоритмдерде (ЭА), мысалы, генетикалық бағдарламалау және генетикалық алгоритмдерде, симуляцияларды оңтайлы жобалық шешімдерге бағыттау үшін қолданылады. ЭА саласында әр жобалық шешім әдетте сандар тізбегі түрінде ұсынылады (хромосома деп аталады). Әрбір сынақ немесе симуляциядан кейін, ең нашар жобалық шешімдерді жойып, ең жақсы жобалық шешімдерден жаңаларын жасау қағидасы қолданылады. Сондықтан, әр жобалық шешімнің жалпы талаптарға қаншалықты сәйкес келетінін көрсету үшін, оған баға берілуі керек, және бұл баға сол шешімнен алынған сынақ немесе симуляция нәтижелеріне жұмысқа лайықты функцияны қолдану арқылы жасалады. Жұмысқа лайықты функциялардың екі негізгі класы бар: бірі – жұмысқа лайықты функция өзгермейтін, мысалы, белгілі бір функцияны оңтайландыру немесе белгілі бір сынақ жиымымен сынау; және бірі – жұмысқа лайықты функция өзгермелі, мысалы, нишалық дифференциация немесе сынақ жиымын бірге дамыту. Жұмысқа лайықты функцияларды қарастырудың тағы бір жолы – жұмысқа лайықты ландшафт, ол әрбір мүмкін хромосоманың жұмысқа лайықтылығын көрсетеді. Бұдан әрі, жұмысқа лайықтылықтың оңтайландыру барысында өзгермейтін бағалау негізінде анықталатыны болжанады. Жұмысқа лайықты функцияның міндетті түрде абсолютті мәнді есептей білуі қажет емес, кейде жақсысын таңдау үшін үміткерлерді салыстыру жеткілікті. Кейбір жағдайларда, мысалы, турнирлік таңдау немесе Парето оңтайландыруы сияқты, жұмысқа лайықтылықтың салыстырмалы көрсеткіші (үміткер a, үміткер b-ден жақсы) жеткілікті.
Бағалау және жарамдылық функциясының талаптары
Бағалау және жарамдылық функциясын есептеу сапасы ЭА оптимизациясының сәтті болуы үшін өте маңызды. Ол Дарвиннің «ең жақсылар тірі қалады» принципін іске асырады. Жұптасу үшін және ұрпақтарды қабылдау үшін жарамдылыққа негізделген таңдау механизмдері болмаса, ЭА іздеуі соқыр болады және Монте-Карло әдісінен ажырату қиынға түседі. Жарамдылық функциясын құрғанда, оның тек қана қажетті күйді сипаттаудан гөрі көбірек екенін ескеру қажет. Керісінше, оңтайлы жағдайға қарай эволюциялық іздеуді мүмкіндігінше қолдау керек (қосымша мақсаттарға арналған бөлімді де қараңыз), егер бұл жарамдылық функциясымен ғана жасалмаса. Жарамдылық функциясы дұрыс емес жобаланса, алгоритм қате шешімге келеді немесе тіпті жақындаса алмайды. Жарамдылық функциясын анықтау көп жағдайда тікелей емес және ЭА шығарған ең жақсы шешімдер қажетті нәтиже бермесе, көбінесе итеративті түрде орындалады. Интерактивті генетикалық алгоритмдер осы қиындыққа бағалауды әдетте адамдар болатын сыртқы агенттерге жүктеу арқылы шешім табады.
Көп мақсатты оңтайландыру
Практикалық қолданбалар көбінесе бірнеше және кем дегенде жартылай қайшы келетін мақсаттарды оңтайландыруға бағытталған. Осы мақсатта екі түбегейлі түрлі тәсіл қолданылады: Парето оңтайландыру және салмақты қосынды арқылы есептелген сәйкестікке негізделген оңтайландыру.
Салмақты сома және айыппұл функциялары
Салмақты сома арқылы оңтайландыру кезінде, мақсаттардың жеке мәндері алдымен салыстыру үшін нормаландырылады. Бұл шығындар арқылы немесе мақсатты мәндерді анықтап, ағымдағы мәнді орындалу дәрежесі ретінде бағалау арқылы жасалуы мүмкін. Шығындар немесе орындалу дәрежелері бір-бірімен салыстырылып, қажет болған жағдайда бірыңғай жарамдылық шкаласына келтіріледі. Жалпы алғанда, жарамдылық максимизацияланатын мәнді білдіреді деп есептеледі. Әрбір мақсатқа пайыздық түрде салмақ беріледі, сонда жалпы шикі жарамдылық салмақталған сома ретінде есептеледі: шектеулерді бұзу жазалау функциялары арқылы осылайша анықталған жарамдылыққа енгізілуі мүмкін. Осы мақсатта, әр шектеу үшін бұзу дәрежесіне байланысты аралықта мән қайтаратын функция анықталады, егер бұзу болмаса, нәтиже нөлге тең болады. Бұрын анықталған шикі жарамдылық жазалау функциясына көбейтіліп, соңғы жарамдылық алынады. Ерітінділер жиынтығын бірден қарастыратын эволюциялық алгоритмдердің (ЭА) Парето майданын жеткілікті түрде қамтитын шешімдерді бір ретте табуға өте қолайлы екендігі ертеден-ақ байқалды. SPEA2-ден басқа, NSGA II және NSGA III стандартты әдістер ретінде қалыптасқан. Парето оңтайландырудың артықшылығы – салмақты сомадан айырмашылығы, ол мақсаттар бойынша эквивалентті барлық баламаларды жалпы шешім ретінде ұсынады. Кемшілігі – баламаларды визуализациялау төрт мақсаттан асса қиынға соғады немесе тіпті мүмкін емес. Сонымен қатар, мақсаттар саны артуымен күш-жігер де экспоненциалды түрде өседі. Егер мақсаттар үш немесе төрттен көп болса, кейбіреулерін салмақты сома немесе басқа агрегациялық әдістерді қолдану арқылы біріктіру қажет. Бұл сол жақтағы суретте көрсетілген. Жасыл Парето майданындағы нүктеге салмақтар және арқылы жетеді, егер ЭА оптималдыққа жақындасса. Ерітінділер жиынтығындағы ең үлкен жарамдылықты қамтамасыз ететін бағыт сызылған жебелермен көрсетілген. Бірақ, егер майдан дөңес болмаса, салмақты сомамен дөңес емес бөліктерге қол жеткізу мүмкін емес. Оң жақтағы суретте бұл нүктелер арасындағы бөлік. Бұл салмақты соманың кеңейтілген түрі – каскадтық салмақты соманы қолдану арқылы шешілуі мүмкін. Тапсырманың өзінен туындайтын негізгі мақсаттарға қоса, бағалау кезінде бір немесе бірнеше негізгі мақсаттарға қол жеткізуді қолдау үшін қосымша мақсаттарды қосу қажет болуы мүмкін. Мысал ретінде жоспарлау тапсырмасы қолданылады. Оптимизациялау мақсаттарына барлық тапсырыстарды жылдам өңдеу және соңғы аяқталу уақытына сәйкестік кіреді. Соңғысы, әсіресе, шұғыл тапсырыстарды жоспарлау үшін маңызды. Екінші мақсатқа, көрнекі бастапқы кестеде көрсетілгендей, қол жеткізілмейді. Келесі мутация бұл жағдайды өзгерте қоймайды, бірақ жұмыс кезеңін d ертерек жоспарлайды, бұл реттіліктің соңғы жұмыс кезеңінің e ертерек басталуы үшін қажетті аралық қадам. Бірақ, егер тек соңғы аяқталу уақыты бағаланса, мутацияланған кестенің жарамдылығы өзгермейді, тіпті ол тапсырысты уақтылы аяқтау мақсатына қадам болып табылады. Бұл мәселені, мысалы, жұмыс кезеңдерінің кешіктірілуін қосымша бағалау арқылы шешуге болады. Жаңа мақсат – қосымша, өйткені ол нақты оңтайландыру мақсаттарына қолдау көрсету үшін енгізілді. Бұл тәсілдің толық сипаттамасы мен тағы бір мысал басқа жерде табылады.
It was recognized early on that EAs with their simultaneously considered solution set are well suited to finding solutions in one run that cover the Pareto front sufficiently well. Besides the SPEA2, the NSGA II and NSGA III have established themselves as standard methods. The advantage of Pareto optimization is that, in contrast to the weighted sum, it provides all alternatives that are equivalent in terms of the objectives as an overall solution. The disadvantage is that a visualization of the alternatives becomes problematic or even impossible from four objectives on. Furthermore, the effort increases exponentially with the number of objectives. If there are more than three or four objectives, some have to be combined using the weighted sum or other aggregation methods. This is illustrated by the adjacent picture on the left. The point on the green Pareto front is reached by the weights and , provided that the EA converges to the optimum. The direction with the largest fitness gain in the solution set is shown by the drawn arrows. In case of a non convex front, however, non convex front sections are not reachable by the weighted sum. In the adjacent image on the right, this is the section between points and This can be remedied to a limited extent by using an extension of the weighted sum, the cascaded weighted sum.]] In addition to the primary objectives resulting from the task itself, it may be necessary to include auxiliary objectives in the assessment to support the achievement of one or more primary objectives. An example of a scheduling task is used for illustration purposes. The optimization goals include not only a general fast processing of all orders but also the compliance with a latest completion time. The latter is especially necessary for the scheduling of rush orders. The second goal is not achieved by the exemplary initial schedule, as shown in the adjacent figure. A following mutation does not change this, but schedules the work step d earlier, which is a necessary intermediate step for an earlier start of the last work step e of the order. As long as only the latest completion time is evaluated, however, the fitness of the mutated schedule remains unchanged, even though it represents a relevant step towards the objective of a timely completion of the order. This can be remedied, for example, by an additional evaluation of the delay of work steps. The new objective is an auxiliary one, since it was introduced in addition to the actual optimization objectives to support their achievement. A more detailed description of this approach and another example can be found in.