Кіріспе
Конвекстік оптимизацияның субсоланымы (SDP) - математикалық бағдарламалаудың субсоланымы. Бұл сызықтық объективті функцияны (пайдаланушы барынша азайтатын немесе барынша арттыратын пайдаланушы анықтаған функция) оң жартылай анықталатын матрицалардың конусының аффиндік кеңістікпен қиылысына, яғни спектраэдрге оңтайландырумен байланысты. Жартылай нақтылы бағдарламалау - оптимизацияның салыстырмалы түрде жаңа саласы, ол бірнеше себептермен қызығушылықты арттырады. Операциялық зерттеулер мен комбинаторлық оңтайландырудағы көптеген практикалық проблемаларды жартылай нақтыланған бағдарламалау проблемалары ретінде модельдеуге немесе шамалауға болады. Автоматты басқару теориясында SDP-лер сызықтық матрицалық теңсіздіктер жағдайында қолданылады. Шын мәнінде, SDP-лер конус бағдарламалаудың ерекше жағдайы болып табылады және оларды ішкі нүктелік әдістермен тиімді шешуге болады. Барлық сызықтық бағдарламалар мен (конвекс) квадраттық бағдарламалар SDP ретінде көрсетілуі мүмкін, ал SDP иерархиясы арқылы полиномиялық оңтайландыру мәселелерінің шешімдері шамамен шығарылуы мүмкін. Жарым нақтылы бағдарламалау күрделі жүйелерді оңтайландыруда қолданылған. Соңғы жылдары кейбір кванттық сұраныстың күрделілік проблемалары жартылай анықталған бағдарламалар тұрғысынан жасалды.
Semidefinite programming (SDP) is a subfield of mathematical programming concerned with the optimization of a linear objective function (a user specified function that the user wants to minimize or maximize)
over the intersection of the cone of positive semidefinite matrices with an affine space, i. e., a spectrahedron. Semidefinite programming is a relatively new field of optimization which is of growing interest for several reasons. Many practical problems in operations research and combinatorial optimization can be modeled or approximated as semidefinite programming problems. In automatic control theory, SDPs are used in the context of linear matrix inequalities. SDPs are in fact a special case of cone programming and can be efficiently solved by interior point methods. All linear programs and (convex) quadratic programs can be expressed as SDPs, and via hierarchies of SDPs the solutions of polynomial optimization problems can be approximated. Semidefinite programming has been used in the optimization of complex systems. In recent years, some quantum query complexity problems have been formulated in terms of semidefinite programs.
Бастапқы мотивация
Сызықтық бағдарламалау мәселесі - политоп бойынша нақты айнымалылардың сызықтық объективті функциясын барынша ұлғайтуды немесе азайтуды қалайтын мәселе. Жартылай нақты бағдарламалауда біз нақты бағаланған векторларды қолданамыз және векторлардың нүктелі көбейтіндісін алуға рұқсат етіледі; LP (сызықтық бағдарламалауда) нақты айнымалылар бойынша теріс емес шектеулер SDP (жартылай нақты бағдарламалауда) матрицалық айнымалылар бойынша жартылай нақтылы шектеулермен ауыстырылады. Нақты айтқанда, жалпы жартылай нақты бағдарламалау мәселесі математикалық бағдарламалау мәселесі ретінде анықталуы мүмкін, онда , және нақты сандар болып табылады және және нүктелі көбейтіндісі болып табылады.
where the , and the are real numbers and is the dot product of and .
Басқа оңтайландыру проблемаларымен байланысы
Жартылай анықталмаған матрицалардың кеңістігі - шығыңқы конус. Сондықтан, SDP - бұл конустық оптимизацияның ерекше жағдайы, бұл - құрғақ оптимизацияның ерекше жағдайы. C матрицасы диагональды болған кезде ішкі көбейтінділер <C,X> C диагоналі мен X диагоналының векторлы көбейтіндісіне тең. Сол сияқты, Ak матрицасы диагональды болған кезде, сәйкес ішкі көбейтінділер векторлы көбейтінділерге тең. Бұл векторлық көбейтінділерде тек X диагональ элементтері қолданылады, сондықтан біз X диагональ емес элементтерін 0-ге теңейтін шектеулерді қоса аламыз. Бұл жағдайда X диагоналдық элементтерінің барлығы теріс емес деген шартқа тең. Содан кейін алынған SDP сызықтық бағдарламаға айналады, онда айнымалылар X диагональ элементтері болып табылады.
Әлсіз дуалдық
Әлсіз дуалдық теоремасында бастапқы SDP-нің мәні кем дегенде дуалдық SDP-нің мәніне тең деп айтылады. Сондықтан, екі SDP төменгі шегінің кез келген мүмкін шешімінің бастапқы SDP мәні, және керісінше, бастапқы SDP жоғарғы шегінің кез келген мүмкін шешімінің екі SDP мәні. Бұл соңғы теңсіздіктің қай жерде екендігіне байланысты, өйткені екі матрица да оң жартылай анықталмаған, ал бұл функция нәтижесі кейде дуалдық алшақтық деп аталады.
where the last inequality is because both matrices are positive semidefinite, and the result of this function is sometimes referred to as duality gap.
1-ші мысал
Үш кездейсоқ айнымалыны қарастырайық , және корреляция коэффициенттерінің берілген жиынтығы , егер және тек қана егер осы матрица корреляция матрицасы деп аталса ғана мүмкін болады . Алдын ала білгенімізді (мысалы, эксперименттің эмпирикалық нәтижелері) және ең кіші және ең үлкен мәндерді анықтау мәселесі мынадан беріледі деп болжам жасайық: Біз жауап алуды белгіледік. Бұл SDP-да айтылуы мүмкін. Біз теңсіздік шектеулерін өзгермелі матрицаны ұлғайту және кідіріс өзгермелілерді енгізу арқылы шешеміз, мысалы, осы SDP-ді шешу сәйкесінше as және max мәндерін береді.
This matrix is called the correlation matrix. Suppose that we know from some prior knowledge (empirical results of an experiment, for example) that and The problem of determining the smallest and largest values that can take is given by:
We set to obtain the answer. This can be formulated by an SDP. We handle the inequality constraints by augmenting the variable matrix and introducing slack variables, for example
Solving this SDP gives the minimum and maximum values of as and respectively.
3-мысал (Гоманс-Уильямсон максималды кесудің шамалау алгоритмі)
Жартылай нақты бағдарламалар NP күрделі максимизациялық проблемалар үшін шамалау алгоритмдерін әзірлеудің маңызды құралдары болып табылады. SDP-ге негізделген алғашқы шамалау алгоритмі Мишель Гоманс пен Дэвид П. Уильямсонға (JACM, 1995) тиесілі.
Басқа қолданбалар
Комбинаторлық оңтайландыру мәселелеріне, мысалы, 0.87856 шамалас қатынасы бар ең үлкен кесу мәселесінің шешімін табу үшін жартылай нақтылы бағдарламалау қолданылды. SDP-тер геометрияда тенсегриттік графиктерді анықтау үшін де қолданылады және бақылау теориясында LMI ретінде пайда болады, ал кері эллиптік коэффициент проблемаларында құрғақ, сызықтық емес, жартылай нақтылылық шектеулері ретінде пайда болады. Ол сондай-ақ физикада конформдық өріс теорияларын конформдық боутстраппен шектеу үшін кеңінен қолданылады.
Орындау уақытының күрделілігі
Жартылай нақтылы іске асырылуы (SDF) мәселесі - келесі шешім проблемасы: SDP берілген болса, оның кем дегенде бір іске асырылатын шешімі бар ма, жоқ па, шешіңіз. Бұл мәселенің нақты орындалу уақытының күрделілігі белгісіз (1997 жылғы жағдай бойынша). Алайда, Рамана мынаны дәлелдеді:
Бірінші реттік әдістер
Конустық оңтайландыру үшін бірінші реттік әдістер үлкен Гессиан матрицасын есептеуден, сақтаудан және факторлаудан аулақ болады және ішкі нүктелік әдістерге қарағанда әлдеқайда үлкен проблемаларға масштабталады, бұл дәлдікке байланысты белгілі бір шығындармен. Бөлшек пішінін ажырату (SCS) құрылғысында бірінші реттік әдіс қолданылады. Тағы бір бірінші реттік әдіс - көбейтушілердің ауыспалы бағыт әдісі (ADMM). Бұл әдіс әр қадамда жартылай нақты матрицалардың конусына проекция жасауды талап етеді.
Топтамалық әдіс
Код ConicBundle SDP проблемасын тегіс емес оптимизациялау проблемасы ретінде қалыптастырады және оны тегіс емес оптимизацияның Spectral Bundle әдісімен шешеді. Бұл тәсіл сызықтық SDP проблемаларының ерекше класы үшін өте тиімді.
Басқа шешу әдістері
Өңделген Лагранж әдісіне (PENSDP) негізделген алгоритмдер ішкі нүктелік әдістерге ұқсас және кейбір өте үлкен масштабтағы проблемаларға мамандандырылуы мүмкін. Басқа алгоритмдер төменгі дәрежелі ақпаратты және СДП-ны сызықтық емес бағдарламалау проблемасы ретінде қайта құруды қолданады (SDPLR, ManiSDP).
Шамамен әдістер
SDP-ді шамамен шешетін алгоритмдер де ұсынылды. Мұндай әдістердің негізгі мақсаты - шамамен шешімдер жеткілікті және күрделілік ең аз болуы тиіс қосымшаларда күрделіліктің төмендеуіне қол жеткізу. Көп кіріс көп шығыс (MIMO) сымсыз жүйелерде деректерді анықтау үшін пайдаланылған көрнекті әдіс - үшбұрышты шамамен SEmidefinite Relaxation (TASER), ол жартылай нақты матрицаның орнына жартылай нақты матрицаның Cholesky ыдырау факторларымен жұмыс істейді. Бұл әдіс макс кесу сияқты мәселенің шамамен алынған шешімдерін есептейді, олар жиі нақты шешгіштердің шешімдерімен салыстырылуы мүмкін, бірақ тек 10-20 алгоритмдік қайталауда. Хазан SDP-ді шешудің шамамен алгоритмін әзірледі, қосымша шектеумен, өзгермелі матрицаның ізін 1 болуы керек.