eo eo eo pt eo eo eo eo eo eo eo eo en eo en eo eo eo pt eo eo eo eo eo eo eo eo eo eo en eo en eo en eo en eo eo eo eo eo eo eo eo es eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo it eo eo it eo eo eo eo pt eo eo eo eo en eo eo eo tr nl pt es nn eo eo eo eo eo eo eo eo de en en en en pt ceb it en eo eo eo tr eu tr pt eo eo eo eo eo eo eo tr eo en eo en en eo eo en en en en en en eo en id hy en en eo de cs en en en en en en en eo en en eo eo tr eo uz eo eo eo lt eo eo eo eo de es eo eo eo eo eo sv ur eo eo eo eo es eo eo eo eo eo eo eo eo tr nl eo eo it eo eo eo eo eo eo eo eo eo eo eo eo ar az bg bn ca hbs_lat da de el en es eu fa fi fr he hi hbs_lat hu hy id it ja kk ko lo lt ms nl nb nb pl pt ro ru en sk sl hbs_lat la sv tr fy ur vi zh eo eo eo eo eo eo eo eo eo
El Vikipedio, la libera enciklopedio
En matematiko, la termino optimumigo signifas trovi la plej bonan solvon al iu problemo, ĉar ĝi devenas de la latina vorto optimum, kiu signifas plejbonecon. Plejkomune oni celas minimumigi aŭ maksimumigi reelan funkcion per sistema elekto de la valorojn de reelaj aŭ entjeraj variabloj el permesata aro. Tia problemo prezenteblas per la formo
Donita:   funkcio f : A → {\displaystyle \to } R el iu aro A al la reelaj nombroj
Trovenda:   ero x0 en A tia, ke f(x0) ≤ f(x) por ĉiuj x en A ("minimumigo") aŭ tia, ke f(x0) ≥ f(x) por ĉiuj x en A ("maksimumigo").
Tia formulaĵo nomiĝas optimumiga problemo aŭ matematika problemo (termino ne rekte rilatanta al komputila programado, sed ankoraŭ uzata, ekzemple por lineara programado - vidu historion pli sube). Multaj real-mondaj kaj teoriaj problemoj modeleblas en tiu ĝenerala kadro.
Tipe, A estas iu subaro de la eŭklida spaco Rn, ofte specifigita per aro de limigoj, egalecoj aŭ neegalaĵoj kiujn la membroj de A devas kontentigi. La eroj de A estas nomitaj fareblaj solvoj. La funkcio f estas nomita objektiva funkcio, aŭ kosta funkcio. Farebla solvaĵo, kiu minimumigas (aŭ maksimumigas, se tio estas la celo) la objektivan funkcion estas nomita optimala solvo.
La domajno A de f estas nomita la serĉo-spaco, dum la eroj de A estas nomitaj kandidataj solvoj aŭ fareblaj solvaĵoj.
∥ x − x ∗ ∥ ≤ δ {\displaystyle \|\mathbf {x} -\mathbf {x} ^{*}\|\leq \delta } ;
f ( x ∗ ) ≤ f ( x ) {\displaystyle f(\mathbf {x} ^{*})\leq f(\mathbf {x} )}
validas; tio estas por diri, sur iu regiono ĉirkaŭ x* ĉiuj de la funkciaj valoroj estas pli grandaj ol, aŭ egalaj al, la valoro je tiu punkto. Lokaj maksimumoj estas simile difinitaj.
Ĝenerale, estas facile trovi lokajn minimumojn — aldonaj faktoj pri la problemo (ekzemple scio de tio ke la funkcio estas konveksa) estas postulitaj por certiĝi, ke la solvo fundamente estas malloka minimumo.
Granda kvanto da algoritmoj proponitaj por solvi ne-konveksajn problemojn — inkluzive de la plejmulto de komence haveblaj solviloj — ne kapablas fari distingon inter loke optimumaj solvoj kaj rigore optimumaj solvoj, kaj traktas la antaŭajn efektivajn solvojn por la originala problemo. La subfako de aplika matematiko kaj numera analizo kiu sin koncernas kun la evoluigo de determinismaj algoritmoj kapablaj certigi konverĝon en finia tempo al la efektiva optimuma solvo de ne-konveksa problemo nomiĝas globa optimumigo (malloka optimumigo).
Notacio (skribmaniero)[redakti | redakti fonton]
Problemoj de optimumigo estas ofte esprimitaj per speciala notacio. Jen kelkaj ekzemploj:
min x ∈ R x 2 + 1 {\displaystyle \min _{x\in \mathbb {R} }\;x^{2}+1}
Tio celas la minimuman valoron por la objektiva funkcio x2 + 1, kie x gamas super la reelaj nombroj R. La minimuma valoro en ĉi tiu kazo estas 1, okazanta je x = 0.
max x ∈ R 2 x {\displaystyle \max _{x\in \mathbb {R} }\;2x}
Tio celas la maksimuman valoron por la objektiva funkcio 2x, kie x gamas super la reelaj nombroj. En tiu kazo, estas nenia tia maksimumo ĉar la objektiva funkcio estas nebarita, do la respondo estas "malfinio" aŭ "nedefinita".
argmin x ∈ [ − ∞ , − 1 ] x 2 + 1 {\displaystyle \operatorname {argmin} _{x\in [-\infty ,-1]}\;x^{2}+1}
Tio celas la valoro(j)n de x en la intervalo [−∞, −1] kiu(j) minimumigas la objektivan funkcion x2 + 1. (La efektiva minimuma valoro de tiu funkcio ne gravas.) En ĉi tiu kazo, la respondo estas x = −1.
argmax x ∈ [ − 5 , 5 ] , y ∈ R x ⋅ cos ⁡ ( y ) {\displaystyle \operatorname {argmax} _{x\in [-5,5],\;y\in \mathbb {R} }\;x\cdot \cos(y)}
Tio celas la (x, y) paro(j)n kiu(j) maksimumigas la valoron de la objektiva funkciox·cos(y), kun la aldonita limigo, ke x kuŝas en la intervalo [−5, 5]. (Denove, la reala maksimuma valoro de la esprimo ne gravas.) En tiu kazo, la solvoj estas la paroj de la formoj (5, 2πk) kaj (−5, (2k + 1)π), kie k gamas super ĉiuj entjeroj.
Ĉefaj subkampoj[redakti | redakti fonton]
Lineara programado studas la kazon en kiu la objektiva funkcio f estas lineara kaj la aro A estas specifigita uzante nur linearajn egalecojn kaj neegalaĵojn. Tia aro nomiĝas poliadro aŭ politopo se ĝi estas barita.
Entjera programado studas linearajn programojn, en kiuj iuj aŭ ĉiuj variabloj estas devigitaj alpreni entjerajn valorojn.
Kvadrata programado permesas al la objektiva funkcio havi kvadratajn termojn, dum la aro A devas esti specifigita per linearaj egalecoj kaj neegalaĵoj.
Nelineara programado studas la ĝeneralan kazon en kiu la objektiva funkcio aŭ la limigoj aŭ ambaŭ el ili enhavas nelinearajn partojn.
Konveksa programado studas la kazon kie la objektiva funkcio estas konveksa funkcio kaj la limigoj, se ili ekzistas, formas konveksan aron. Tio rigardeblas kiel specifa kazo de nelineara programado, aŭ kiel ĝeneraligo de lineara aŭ konveksa kvadrata programado.
Duondifinita programado (en:"SDP") estas subkampo de konveksa optimigo kie la subkuŝantaj variabloj estas duondifinitaj matricoj. Ĝi estas ĝeneraligo de lineara kaj konveksa kvadrataj programadoj.
Duaorda konusa programado (en:"SOCP").
Stokasta programado studas la kazon en kiu iuj el la limigoj dependas de hazarda variablo.
Fortika programado estas, simile al stokasta programado, provo kapti necertecon en la datumoj subkuŝantaj la optimumigan problemon. Tio ne faratas per uzado de hazardaj variabloj, sed anstataŭe, la problemon oni solvas per tio atenti malĝustaĵojn en la enfluaj datumoj.
Dinamika programado studas la kazon en kiu la optimumiga strategio baziĝas sur diserigo de la problemo en pli malgrandajn subproblemojn.
Kombina optimumigo koncerniĝas kun problemoj kie la aro de fareblaj solvaĵoj estas diskreta aŭ povas reduktiĝi al diskreta aro.
Malfinidimensia optimumigo studas la kazon kiam la aro de fareblaj solvaĵoj estas subaro de malfinidimensia spaco, kiel ekzemple spaco de funkcioj.
Limigo-kotentigo studas la kazon en kiu la objektiva funkcio f estas konstanto (tio estas uzita en AI, aparte en aŭtomata rezonado).
Disjunkcia programado uziĝas kie almenaŭ unu limigo kontentigendas, sed ne ĉiuj. Ĝi aparte utilas en la verkado de horaroj.
Teknikoj[redakti | redakti fonton]
Por dufoje-diferencialeblaj funkcioj, nelimigitaj problemoj solveblas per trovado de la punktoj kie la gradiento de la objektiva funkcio estas nulo (tio estas, la stabilaj punktoj) kaj uzado de la matrico de Hessian por klasifiki la tipon de ĉiu punkto. Se la matrico de Hessian estas pozitive difinita matrico, la punkto estas loka minimumo, se negativa difinita, loka maksimumo, kaj se nedefinita ĝi estas ia selo-punkto.
Oni povas trovi la stabilajn punktojn per tio stari ĉe konjekto por stabila punkto, kaj tiam ripeti al ĝi per uzado de la jenaj metodoj. Tamen, la ekzisto de derivativoj ne ĉiam certas kaj multajn metodojn oni elpensis por apartaj situacioj. La bazaj klasoj de metodoj, bazitaj sur la glateco de la objektiva funkcio, estas:
Efektivaj metodoj el inter la ĉi-supraj kategorioj inkluzivas:
Gradienta descendo, alinome plejkruta descendo, aŭ plejkruta ascendo
Nelder-Mead-a metodo, alinome la ameba metodo
Subgradienta metodo - similas la gradientan metodon en la kazo, ke ne estas gradientoj
Se la objektiva funkcio estus konveksa super la regiono de intereso, tiam ĉiu loka minimumo ankaŭ estus malloka minimumo. Ekzistas fortikaj, rapidaj ciferecaj teknikoj por optimumigi duoble diferencialeblajn konveksajn funkciojn.
Limigitaj problemoj ofte konverteblas en nelimigitajn problemojn per helpo de multiplikantoj de Lagrange.
Jen kelkaj aliaj popularaj metodoj:
Utiloj[redakti | redakti fonton]
Problemoj en solida dinamiko ofte postulas programadajn teknikojn, ĉar oni povas rigardi solidan dinamikon provanta solvi ordinara diferenciala ekvacio sur limigo (dukto); la limigoj estas diversajn nelinearajn geometriajn limigojn tiajn, kiaj "ĉi tiuj du punktoj devas ĉiam koincidi", "ĉi tiu surfaco devas ne penetri iun ajn alian", aŭ "ĉi tiu punkto devas ĉiam kuŝi ie sur tiu kurbo". Ankaŭe, la problemo komputi kontaktajn fortojn fareblas per tio solvi linearan komplementecan problemon, kiu ankaŭ rigardeblas kiel (en:"QP") (kvadrata programada problemo).
Multaj dizajno-problemoj esprimeblas ankaŭ kiel optimumigaj programoj. Tiu apliko estas nomata kiel dizajna optimumigo. Unu ĵusa kaj kreskanta subaro de ĉi tiu kampo estas multfaka dizajna optimumigo, kio, dum ĝi utilas en multaj problemoj, jam aparte estas aplikata al problemoj de aerokosma flugadika inĝenierado.
Ĉefskola ekonomiko ankaŭ grave subtenas sin sur matematika programado. Klientoj kaj firmaoj estas atendataj maksimumigi sian profiton. Ankaŭe, agentojn oni atendas esti risk-evitemaj, per tio volantaj minimumigi kian ajn riskon sperteblan. Ankaŭ prezoj de havaĵoj klarigeblas per uzado de optimumigo, kvankam la subkuŝanta teorio estas pli komplika ol simpla optimigo de utilo aŭ profito. Ankaŭ komerc-teorio uzas optimigadon por klarigi komercajn aranĝojn inter landoj.
Alia kampo kiu amplekse uzas optimumigajn teknikojn estas operaciesploro.
Historio[redakti | redakti fonton]
La unua optimumiga teĥniko, konata kiel plejkruta descendo', datiĝas de Gauss. Historie, la unua termino prezentita estis lineara programado, kiu estis inventita de Georgo Dantzig en la 1940-aj jaroj. La termino programado en ĉi tiu ĉirkaŭteksto ne signifas komputilan programadon,(kvankam komputiloj estas nuntempe amplekse uzataj por solvi matematikajn programojn). Anstataŭe, la termino originas en la uzo de programo far la Usonaj militservoj por nomi proponitan trejnadajn kaj loĝistikajn horarojn, kiuj estis la problemoj, kiujn tiutempe studis Dantzig. (Aldone, pli malfrue, la uzado de la termino "programado" estis evidente utila por ricevadi registaran fonduson, ĉar ĝin oni asociis kun esplorkampoj de alta-teknologio, kiuj estis konsiderataj gravaj.)
Aliaj gravaj matematikistoj en la optimumiga kampo inkluzivas:
Vidu ankaŭ[redakti | redakti fonton]
Referencoj[redakti | redakti fonton]
Mordecai Avriel (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0. angle
Stephen Boyd kaj Lieven Vandenberghe (2004). Konveksa Optimumigo, Kembriĝo (Britio) Universitato Premi. ISBN 0-521-83378-7. angle
Panos Y. Papalambros and Douglass J. Wilde (2000). Principles of Optimal Design : Modeling and Computation, Cambridge University Press. ISBN 0-521-62727-3. angle
Jorge Nocedal and Stephen J. Wright (2006). Numerical Optimization, Springer. ISBN 0-387-30303-0. angle
Eksteraj ligiloj[redakti | redakti fonton]
Mathematical Programming Society angle
COIN-OR — Computational Infrastructure for Operations Research angle
Nonlinear Programming Glossary angle
Optimization Related Links angle
GAMS — General Algebraic Modeling System
AIMMS Optimization Modeling — include optimization in industry solutions (free trial license available);
Xpress-MP - Optimization software free to students
IPOPT - an open-source primal-dual interior point method NLP solver
KNITRO - solver for nonlinear optimization problems
Free Optimization Software by Systems Optimization Laboratory, Stanford University
Optimizing Resource and Capacity with Advanced Planning and Scheduling
OOL (Open Optimization library) - a set of optimization routines in C.
IOptLib (Investigative Optimization Library) - a free open source library for development of optimization algorithms (ANSI C).
AIMMS Optimumigo Modelanta — inkluzivi optimumigo en industriaj solvaĵoj (libera prova permesilo havebla);
Xpress-MP - Optimumiga programaro libera al studentoj
Paĝoj kiuj uzas ISBNajn magiajn ligojn
Informoj pri la paĝo
Citi ĉi tiun artikolon
Ĉi tiu paĝo estis lastafoje redaktita je 08:21, 6 apr. 2013.
La teksto disponeblas laŭ la permesilo Krea Komunaĵo Atribuite-Samkondiĉe 3.0 Neadaptita; eble aldonaj kondiĉoj aplikeblas. Vidu la uzkondiĉojn por detaloj.
Regularo pri respekto de la privateco
Vidigo por porteblaj aparatoj