Кіріспе

Бранч және кесіп алу – бүтін сандық сызықтық бағдарламаларды (ILP) шешуге арналған комбинаторлық оңтайландыру әдісі, яғни кейбір немесе барлық белгісіздері бүтін сандық мәндермен шектелген сызықтық бағдарламалау (LP) мәселелері. Бранч және кесіп алу алгоритмі тармақтау және шектеу әдісін іске қосуды және сызықтық бағдарламалаудың жақындауын күшейту үшін кесу жазықтықтарын пайдалануды қамтиды. Егер кесулер тек бастапқы LP жақындауын күшейту үшін қолданылса, онда алгоритм кесу және тармақтау деп аталады.

Салалық стратегиялар

Тармақталу және кесу алгоритмінің маңызды қадамы – тармақталу кезеңі. Бұл кезеңде қолдануға болатын әртүрлі тармақталу эвристикалары бар. Төменде сипатталған тармақталу стратегияларының барлығы айнымалы бойынша тармақталу деп аталатын нәрсені қамтиды. Айынымалы бойынша тармақталу – қазіргі LP релаксациясының ең жақсы шешімінде бөлшектік мәні бар , айнымалын таңдау және содан кейін және шектеулерін қосу. Ең мүмкін емес тармақталу стратегиясы 0,5-ке ең жақын бөлшектік бөлігі бар айнымалыны таңдайды. Псевдо-құнмен тармақталу. Бұл стратегияның негізгі идеясы – әрбір айнымалы үшін осы айнымалы тармақталу айнымалы ретінде бұрын таңдалған кездегі мақсатты функциядағы өзгерісті қадағалау. Содан кейін стратегия бұрынғы өзгерістерге негізделген мақсатты функцияда ең көп өзгеріс болатыны болжанған айнымалыны таңдайды. Псевдо-құнмен тармақталу іздеудің бастапқы кезеңінде ақпараттық болмайды, өйткені аз ғана айнымалылар тармақталған. Күшті тармақталу. Күшті тармақталу нақты тармақталу алдында кандидат айнымалылардың қайсысы мақсатты функцияны ең жақсы жақсартатынын тексеруді қамтиды. Толық күшті тармақталу барлық кандидат айнымалыларды тексереді және есептеу жағынан қымбат болуы мүмкін. Есептеу шығындарын кандидат айнымалылардың кіші жиынтығын қарастыру және тиісті LP релаксацияларын толық шешпеу арқылы азайтуға болады. Бұл тармақталу стратегияларының көптеген нұсқалары бар, мысалы, псевдо-құнмен тармақталу салыстырмалы түрде ақпаратсыз болған кезде ертерек күшті тармақталуды қолдану, содан кейін псевдо-құнмен тармақталуға ауысу, псевдо-құн ақпараттық болу үшін жеткілікті тармақталу тарихы жиналған кезде.