द्विघात प्रोग्रामिंग: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Solving an optimization problem with a quadratic objective function}} {{Expert needed|1=Mathematics|reason=Some items in this page need clarification and/o...")
 
No edit summary
Line 1: Line 1:
{{Short description|Solving an optimization problem with a quadratic objective function}}
{{Short description|Solving an optimization problem with a quadratic objective function}}
{{Expert needed|1=Mathematics|reason=Some items in this page need clarification and/or expert verification|talk=quadratic programming|date=February 2017}}
क्वाड्रैटिक प्रोग्रामिंग (क्यूपी) [[द्विघात फंक्शन]] से जुड़े कुछ [[गणितीय अनुकूलन]] [[अनुकूलन समस्या]] को हल करने की प्रक्रिया है। विशेष रूप से, एक चर पर रैखिक [[विवश अनुकूलन]] के अधीन एक बहुभिन्नरूपी द्विघात फ़ंक्शन को अनुकूलित (न्यूनतम या अधिकतम) करना चाहता है। द्विघात प्रोग्रामिंग एक प्रकार की अरैखिक प्रोग्रामिंग है।
क्वाड्रैटिक प्रोग्रामिंग (क्यूपी) [[द्विघात फंक्शन]] से जुड़े कुछ [[गणितीय अनुकूलन]] [[अनुकूलन समस्या]] को हल करने की प्रक्रिया है। विशेष रूप से, एक चर पर रैखिक [[विवश अनुकूलन]] के अधीन एक बहुभिन्नरूपी द्विघात फ़ंक्शन को अनुकूलित (न्यूनतम या अधिकतम) करना चाहता है। द्विघात प्रोग्रामिंग एक प्रकार की अरैखिक प्रोग्रामिंग है।


Line 17: Line 16:
:{| cellspacing="10"
:{| cellspacing="10"
|-
|-
| minimize
| न्यूनतम
| <math>\tfrac{1}{2} \mathbf{x}^\mathrm{T} Q\mathbf{x} + \mathbf{c}^\mathrm{T} \mathbf{x}</math>
| <math>\tfrac{1}{2} \mathbf{x}^\mathrm{T} Q\mathbf{x} + \mathbf{c}^\mathrm{T} \mathbf{x}</math>
|-
|-
| subject to
| विषय को
| <math>A \mathbf{x} \preceq \mathbf{b},</math>
| <math>A \mathbf{x} \preceq \mathbf{b},</math>
|}
|}
Line 30: Line 29:
:{| cellspacing="10"
:{| cellspacing="10"
|-
|-
| minimize
| न्यूनतम
| <math>\tfrac{1}{2} \| R \mathbf{x} - \mathbf{d}\|^2 </math>
| <math>\tfrac{1}{2} \| R \mathbf{x} - \mathbf{d}\|^2 </math>
|-
|-
| subject to
| विषय को
| <math>A \mathbf{x} \preceq \mathbf{b},</math>
| <math>A \mathbf{x} \preceq \mathbf{b},</math>
|}
|}
Line 75: Line 74:


इस प्रणाली तक पहुँचने का सबसे आसान साधन प्रत्यक्ष समाधान है (उदाहरण के लिए, LU गुणन), जो छोटी समस्याओं के लिए बहुत ही व्यावहारिक है। बड़ी समस्याओं के लिए, प्रणाली कुछ असामान्य कठिनाइयाँ उत्पन्न करती है, विशेष रूप से यह कि समस्या कभी भी सकारात्मक निश्चित नहीं होती है (भले ही {{mvar|Q}} is), एक अच्छा संख्यात्मक दृष्टिकोण खोजने के लिए इसे संभावित रूप से बहुत कठिन बना देता है, और समस्या पर निर्भर रहने के लिए कई दृष्टिकोण हैं।<ref>[https://scholar.google.com/scholar?hl=en&q=saddle+point+indefinite+constrained+linear Google search.]</ref>
इस प्रणाली तक पहुँचने का सबसे आसान साधन प्रत्यक्ष समाधान है (उदाहरण के लिए, LU गुणन), जो छोटी समस्याओं के लिए बहुत ही व्यावहारिक है। बड़ी समस्याओं के लिए, प्रणाली कुछ असामान्य कठिनाइयाँ उत्पन्न करती है, विशेष रूप से यह कि समस्या कभी भी सकारात्मक निश्चित नहीं होती है (भले ही {{mvar|Q}} is), एक अच्छा संख्यात्मक दृष्टिकोण खोजने के लिए इसे संभावित रूप से बहुत कठिन बना देता है, और समस्या पर निर्भर रहने के लिए कई दृष्टिकोण हैं।<ref>[https://scholar.google.com/scholar?hl=en&q=saddle+point+indefinite+constrained+linear Google search.]</ref>
यदि बाधाएँ चरों को बहुत कसकर नहीं जोड़ती हैं, तो चरों को बदलने के लिए एक अपेक्षाकृत सरल हमला है ताकि बाधाएँ बिना शर्त संतुष्ट हों। उदाहरण के लिए मान लीजिए {{math|1='''d''' = 0}} (अशून्य के लिए सामान्यीकरण सीधा है)। बाधा समीकरणों को देखते हुए:
यदि बाधाएँ चरों को बहुत कसकर नहीं जोड़ती हैं, तो चरों को बदलने के लिए एक अपेक्षाकृत सरल हमला है ताकि बाधाएँ बिना शर्त संतुष्ट हों। उदाहरण के लिए मान लीजिए {{math|1='''d''' = 0}} (अशून्य के लिए सामान्यीकरण सीधा है)। बाधा समीकरणों को देखते हुए:


Line 95: Line 95:


== लग्रंगियन द्वैत ==
== लग्रंगियन द्वैत ==
{{See also|Dual problem}}
{{See also|दोहरी समस्या}}
किसी QP की Lagrangian Dual समस्या भी एक QP है। इसे देखने के लिए आइए हम उस मामले पर ध्यान दें जहां {{math|1=''c'' = 0}} और {{mvar|Q}} सकारात्मक निश्चित है। लैग्रेंज गुणक फलन को हम इस प्रकार लिखते हैं
किसी QP की Lagrangian Dual समस्या भी एक QP है। इसे देखने के लिए आइए हम उस मामले पर ध्यान दें जहां {{math|1=''c'' = 0}} और {{mvar|Q}} सकारात्मक निश्चित है। लैग्रेंज गुणक फलन को हम इस प्रकार लिखते हैं
:<math>L(x,\lambda) = \tfrac{1}{2} x^\top Qx + \lambda^\top (Ax-b). </math>
:<math>L(x,\lambda) = \tfrac{1}{2} x^\top Qx + \lambda^\top (Ax-b). </math>
Line 121: Line 121:
{| class="wikitable"
{| class="wikitable"
|-
|-
!Name
!नाम
!Brief info
!संक्षिप्त जानकारी
|-
|-
|[[AIMMS]]|| A software system for modeling and solving optimization and scheduling-type problems
|[[AIMMS]]|| अनुकूलन और शेड्यूलिंग-प्रकार की समस्याओं को मॉडलिंग और हल करने के लिए एक सॉफ्टवेयर सिस्टम
|-
|-
|[[ALGLIB]]|| Dual licensed (GPL/proprietary) numerical library (C++, .NET).
|[[ALGLIB]]|| डुअल लाइसेंस (जीपीएल/मालिकाना) न्यूमेरिकल लाइब्रेरी (सी++, .नेट)
|-
|-
|[[AMPL]]|| A popular modeling language for large-scale mathematical optimization.
|[[AMPL|एएमपीएल]]|| बड़े पैमाने पर गणितीय अनुकूलन के लिए एक लोकप्रिय मॉडलिंग भाषा।
|-
|-
|[[APMonitor]]|| Modeling and optimization suite for [[Linear programming|LP]], QP, [[Nonlinear programming|NLP]], [[Integer programming|MILP]], [[Mixed Integer Nonlinear Programming|MINLP]], and [[Differential algebraic equation|DAE]] systems in MATLAB and Python.
|[[APMonitor|एपीमॉनिटर]]|| मॉडलिंग और अनुकूलन सुइट के लिए [[Linear programming|एल.पी.]], क्यूपी, [[Nonlinear programming|एनएलपी]], [[Integer programming|मिलप]], [[Mixed Integer Nonlinear Programming|मिनएलपी]], और[[Differential algebraic equation|डीएई]] मैटलैब और पायथन में सिस्टम।
|-  
|-  
|[[Artelys Knitro]] || An Integrated Package for Nonlinear Optimization
|[[Artelys Knitro|आर्टिलिस नाइट्रो]] || अरेखीय अनुकूलन के लिए एक एकीकृत पैकेज
|-
|-
|[[CGAL]]|| An open source computational geometry package which includes a quadratic programming solver.
|[[CGAL|सीजीएएल]]|| एक खुला स्रोत कम्प्यूटेशनल ज्यामिति पैकेज जिसमें द्विघात प्रोग्रामिंग सॉल्वर शामिल है।
|-
|-
|[[CPLEX]]|| Popular solver with an API (C, C++, Java, .Net, Python, Matlab and R).  Free for academics.
|[[CPLEX|सीप्लेक्स]]|| एक एपीआई (सी, सी ++, जावा, .नेट, पायथन, मैटलैब और आर) के साथ लोकप्रिय सॉल्वर। शिक्षाविदों के लिए नि: शुल्क।
|-
|-
|[[Microsoft Excel|Excel]] Solver Function|| A nonlinear solver adjusted to spreadsheets in which function evaluations are based on the recalculating cells. Basic version available as a standard add-on for Excel.
|[[Microsoft Excel|एक्सेल]] सॉल्वर फ़ंक्शन|| स्प्रैडशीट्स के लिए समायोजित एक अरैखिक सॉल्वर जिसमें फ़ंक्शन मूल्यांकन पुनर्गणना कोशिकाओं पर आधारित होते हैं। मूल संस्करण एक्सेल के लिए एक मानक ऐड-ऑन के रूप में उपलब्ध है।
|-
|-
|[[General Algebraic Modeling System|GAMS]] || A high-level modeling system for mathematical optimization
|[[General Algebraic Modeling System|जीएएमएस]] || गणितीय अनुकूलन के लिए एक उच्च स्तरीय मॉडलिंग प्रणाली
|-
|-
|[[GNU Octave]]|| A free (its licence is [[GPL]]v3) general-purpose and matrix-oriented programming-language for numerical computing, similar to MATLAB. Quadratic programming in GNU Octave is available via its [https://www.gnu.org/software/octave/doc/interpreter/Quadratic-Programming.html qp] command
|[[GNU Octave|जीएनयू ऑक्टेव]]|| एक नि: शुल्क (इसका लाइसेंस है [[GPL]]v3) संख्यात्मक कंप्यूटिंग के लिए सामान्य-उद्देश्य और मैट्रिक्स-उन्मुख प्रोग्रामिंग-भाषा, मैटलैब के समान। जीएनयू ऑक्टेव में क्वाड्रैटिक प्रोग्रामिंग इसके माध्यम से उपलब्ध है [https://www.gnu.org/software/octave/doc/interpreter/Quadratic-Programming.html qp] कमांड
|-
|-
|[[HiGHS optimization solver|HiGHS]]|| Open-source software for solving linear programming (LP), mixed-integer programming (MIP), and convex quadratic programming (QP) models
|[[HiGHS optimization solver|हइस]]|| रैखिक प्रोग्रामिंग (एलपी), मिश्रित-पूर्णांक प्रोग्रामिंग (एमआईपी), और उत्तल द्विघात प्रोग्रामिंग (क्यूपी) मॉडल को हल करने के लिए ओपन-सोर्स सॉफ़्टवेयर
|-
|-
|[[IMSL Numerical Libraries|IMSL]]|| A set of mathematical and statistical functions that programmers can embed into their software applications.
|[[IMSL Numerical Libraries|आईएमएसएल]]|| गणितीय और सांख्यिकीय कार्यों का एक सेट जिसे प्रोग्रामर अपने सॉफ्टवेयर अनुप्रयोगों में एम्बेड कर सकते हैं।
|-
|-
|[[IPOPT]]|| IPOPT (Interior Point OPTimizer) is a software package for large-scale nonlinear optimization.
|[[IPOPT|आईपीओपीटी]]|| इपॉप्ट (इंटीरियर पॉइंट ऑप्टिमाइज़र) बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन के लिए एक सॉफ्टवेयर पैकेज है।
|-
|-
|[[Maple (software)|Maple]]|| General-purpose programming language for mathematics.  Solving a quadratic problem in Maple is accomplished via its [http://www.maplesoft.com/support/help/Maple/view.aspx?path=Optimization/QPSolve QPSolve] command.
|[[Maple (software)|मेपल]]|| गणित के लिए सामान्य प्रयोजन प्रोग्रामिंग भाषा। मेपल में द्विघात समस्या का समाधान इसके माध्यम से पूरा किया जाता है [http://www.maplesoft.com/support/help/Maple/view.aspx?path=Optimization/QPSolve QPSolve] कमांड.
|-
|-
|[[MATLAB]]|| A general-purpose and matrix-oriented programming-language for numerical computing. Quadratic programming in MATLAB requires the Optimization Toolbox in addition to the base MATLAB product
|[[MATLAB|मैटलैब]]|| संख्यात्मक कंप्यूटिंग के लिए एक सामान्य-उद्देश्य और मैट्रिक्स-उन्मुख प्रोग्रामिंग-भाषा। मैटलैब में द्विघात प्रोग्रामिंग के लिए बेस मैटलैब उत्पाद के अलावा ऑप्टिमाइज़ेशन टूलबॉक्स की आवश्यकता होती है
|-
|-
|[[Mathematica]]|| A general-purpose programming-language for mathematics, including symbolic and numerical capabilities.
|[[Mathematica|गणितीय]]|| प्रतीकात्मक और संख्यात्मक क्षमताओं सहित गणित के लिए एक सामान्य-उद्देश्य प्रोग्रामिंग-भाषा।
|-
|-
|[[MOSEK]]|| A solver for large scale optimization with API for several languages (C++, Java, .Net, Matlab and Python).
|[[MOSEK|मोसेक]]|| कई भाषाओं (सी ++, जावा, .नेट, मैटलैब और पायथन) के लिए एपीआई के साथ बड़े पैमाने पर अनुकूलन के लिए एक सॉल्वर।
|-
|-
|[[NAG Numerical Library]]|| A collection of mathematical and statistical routines developed by the [[Numerical Algorithms Group]] for multiple programming languages (C, C++, Fortran, Visual Basic, Java and C#) and packages (MATLAB, Excel, R, LabVIEW). The Optimization chapter of the NAG Library includes routines for quadratic programming problems with both sparse and non-sparse linear constraint matrices, together with routines for the optimization of linear, nonlinear, sums of squares of linear or nonlinear functions with nonlinear, bounded or no constraints.  The NAG Library has routines for both local and global optimization, and for continuous or integer problems.
|[[NAG Numerical Library|एनएजी न्यूमेरिकल लाइब्रेरी]]|| द्वारा विकसित गणितीय और सांख्यिकीय दिनचर्या का एक संग्रह[[Numerical Algorithms Group|संख्यात्मक एल्गोरिदम समूह]] या कई प्रोग्रामिंग लैंग्वेज (सी, सी++, फोरट्रान, विजुअल बेसिक, जावा और सी#) और पैकेज (मैटलैब, एक्सेल, आर, लैबव्यू)। एनएजी लाइब्रेरी के ऑप्टिमाइज़ेशन चैप्टर में विरल और गैर-विरल रेखीय बाधा मैट्रिस दोनों के साथ द्विघात प्रोग्रामिंग समस्याओं के लिए रूटीन शामिल हैं, साथ में लीनियर, नॉनलाइनियर के अनुकूलन के लिए रूटीन के साथ, नॉनलाइनियर, बाउंडेड या नो कंस्ट्रेंट्स के साथ लीनियर या नॉनलाइनियर फ़ंक्शंस के वर्गों का योग। . एनएजी लाइब्रेरी में स्थानीय और वैश्विक अनुकूलन दोनों के लिए और निरंतर या पूर्णांक समस्याओं के लिए रूटीन हैं।
|-
|-
|[[Python (programming language)|Python]]||High-level programming language with bindings for most available solvers. Quadratic programming is available via the [https://pypi.org/project/qpsolvers/ solve_qp] function or by calling a specific solver directly.
|[[Python (programming language)|पाइथन]]||अधिकांश उपलब्ध सॉल्वरों के लिए बाइंडिंग के साथ उच्च-स्तरीय प्रोग्रामिंग भाषा। द्विघात प्रोग्रामिंग के माध्यम से उपलब्ध है [https://pypi.org/project/qpsolvers/ solve_qp] फ़ंक्शन या किसी विशिष्ट सॉल्वर को सीधे कॉल करके.
|-
|-
|[[R (programming language)|R]] (Fortran)||[[GNU General Public License|GPL]] licensed universal cross-platform statistical computation framework.
|[[R (programming language)|आर (फोरट्रान)]] ||[[GNU General Public License|GPL]]फ़ंक्शन या एक विशिष्ट सॉल्वर को कॉल करके डायरेक्टली यूनिवर्सल क्रॉस-प्लेटफ़ॉर्म सांख्यिकीय संगणना फ्रेमवर्क। एक्टली
|-
|-
|[[SAS System|SAS]]/OR|| A suite of solvers for Linear, Integer, Nonlinear, Derivative-Free, Network, Combinatorial and Constraint Optimization; the [[Algebraic modeling language]] OPTMODEL; and a variety of vertical solutions aimed at specific problems/markets, all of which are fully integrated with the [[SAS System]].
|[[SAS System|एसएएस / ओआर]]|| लीनियर, इंटीजर, नॉनलाइनियर, डेरिवेटिव-फ्री, नेटवर्क, कॉम्बिनेटोरियल और कंस्ट्रेंट ऑप्टिमाइजेशन के लिए सॉल्वर का एक सूट; [[Index.php?title=बीजगणितीय मॉडलिंग भाषा|बीजगणितीय मॉडलिंग भाषा]] ऑप्टमॉडल; और विशिष्ट समस्याओं/बाजारों के उद्देश्य से विभिन्न प्रकार के लंबवत समाधान, जिनमें से सभी पूरी तरह से एकीकृत हैं [[SAS System|एसएएस सिस्टम]].
|-
|-
|[[SuanShu_numerical_library|SuanShu]]|| an open-source suite of optimization algorithms to solve [[Linear programming|LP]], QP, [[SOCP]], [[Semidefinite_programming|SDP]], [[Sequential_quadratic_programming|SQP]] in Java
|[[SuanShu_numerical_library|सुआन्शु]]|| हल करने के लिए ऑप्टिमाइज़ेशन एल्गोरिदम का एक ओपन-सोर्स सूट[[Linear programming|एल.पी.]], क्यूपी, [[SOCP|एसओसीपी]], [[Semidefinite_programming|एसडीपी]], [[Sequential_quadratic_programming|एसक्यूपी]] जावा में
|-
|-
|[[TK Solver]]|| Mathematical modeling and problem solving software system based on a declarative, rule-based language, commercialized by Universal Technical Systems, Inc..
|[[TK Solver|टीके सॉल्वर]]|| यूनिवर्सल टेक्निकल सिस्टम्स, इंक द्वारा व्यावसायिक रूप से घोषित, नियम-आधारित भाषा पर आधारित गणितीय मॉडलिंग और समस्या निवारण सॉफ्टवेयर सिस्टम।
|-
|-
|[[TOMLAB]]||Supports global optimization, integer programming, all types of least squares, linear, quadratic and unconstrained programming for [[MATLAB]]. TOMLAB supports solvers like [[CPLEX]], [[SNOPT]] and [[KNITRO]].
|[[TOMLAB|टॉमलैब]]||वैश्विक अनुकूलन, पूर्णांक प्रोग्रामिंग, सभी प्रकार के न्यूनतम वर्ग, रैखिक, द्विघात और अप्रतिबंधित प्रोग्रामिंग का समर्थन करता है [[MATLAB|मैटलैब]]. टॉमलैब जैसे सॉल्वर का समर्थन करता है [[CPLEX|सीप्लेक्स]], [[SNOPT|स्नाप्त]] और [[KNITRO|नाइट्रो]].
|-
|-
|[[FICO Xpress|XPRESS]]||Solver for large-scale linear programs, quadratic programs, general nonlinear and mixed-integer programs. Has API for several programming languages, also has a modelling language Mosel and works with AMPL, [[General Algebraic Modeling System|GAMS]]. Free for academic use.
|[[FICO Xpress|एक्सप्रेस]]||बड़े पैमाने पर रैखिक कार्यक्रमों, द्विघात कार्यक्रमों, सामान्य गैर-रैखिक और मिश्रित-पूर्णांक कार्यक्रमों के लिए सॉल्वर। कई प्रोग्रामिंग भाषाओं के लिए एपीआई है, एक मॉडलिंग भाषा मोसेल भी है और एएमपीएल के साथ काम करती है, [[General Algebraic Modeling System|जीएएमएस]]. अकादमिक उपयोग के लिए नि: शुल्क।
|}
|}



Revision as of 20:27, 14 February 2023

क्वाड्रैटिक प्रोग्रामिंग (क्यूपी) द्विघात फंक्शन से जुड़े कुछ गणितीय अनुकूलन अनुकूलन समस्या को हल करने की प्रक्रिया है। विशेष रूप से, एक चर पर रैखिक विवश अनुकूलन के अधीन एक बहुभिन्नरूपी द्विघात फ़ंक्शन को अनुकूलित (न्यूनतम या अधिकतम) करना चाहता है। द्विघात प्रोग्रामिंग एक प्रकार की अरैखिक प्रोग्रामिंग है।

इस संदर्भ में प्रोग्रामिंग गणितीय समस्याओं को हल करने के लिए औपचारिक प्रक्रिया को संदर्भित करता है। यह उपयोग 1940 के दशक का है और विशेष रूप से कंप्यूटर प्रोग्रामिंग की हालिया धारणा से जुड़ा नहीं है। भ्रम से बचने के लिए, कुछ व्यवसायी अनुकूलन शब्द पसंद करते हैं - उदाहरण के लिए, द्विघात अनुकूलन।[1]


समस्या निर्माण

के साथ द्विघात प्रोग्रामिंग समस्या n चर और m बाधाओं को निम्नानुसार तैयार किया जा सकता है।[2] दिया गया:

द्विघात प्रोग्रामिंग का उद्देश्य एक खोजना है n-आयामी वेक्टर x, वो होगा

न्यूनतम
विषय को

कहाँ xT के वेक्टर स्थानान्तरण को दर्शाता है x, और अंकन Axb इसका मतलब है कि वेक्टर की हर प्रविष्टि Ax सदिश की संबंधित प्रविष्टि से कम या उसके बराबर है b (घटक-वार असमानता)।

कम से कम वर्ग

एक विशेष मामले के रूप में जब क्यू सकारात्मक निश्चित मैट्रिक्स | सममित सकारात्मक-निश्चित है, तो लागत फ़ंक्शन कम से कम वर्गों में घट जाती है:

न्यूनतम
विषय को

कहाँ Q = RTR के चोल्स्की अपघटन से अनुसरण करता है Q और c = −RT d. इसके विपरीत, इस तरह के किसी भी कम से कम वर्ग कार्यक्रम को सामान्य गैर-स्क्वायर के लिए भी QP के रूप में समान रूप से तैयार किया जा सकता है R आव्यूह।

सामान्यीकरण

किसी फ़ंक्शन को कम करते समय f किसी संदर्भ बिंदु के पड़ोस में x0, Q इसके हेसियन मैट्रिक्स पर सेट है H(f(x0)) और c इसकी ग्रेडियेंट पर सेट है f(x0). एक संबंधित प्रोग्रामिंग समस्या, द्विघात रूप से विवश द्विघात प्रोग्रामिंग, चर पर द्विघात बाधाओं को जोड़कर उत्पन्न की जा सकती है।

समाधान के तरीके

सामान्य समस्याओं के लिए विभिन्न तरीकों का आमतौर पर उपयोग किया जाता है, जिनमें शामिल हैं

* आंतरिक बिंदु विधि,
* सक्रिय सेट,[3]
*संवर्धित Lagrangian विधि,[4]
* संयुग्मी ढाल विधि,
  • ग्रेडिएंट प्रोजेक्शन विधि,
* सिंप्लेक्स एल्गोरिदम का विस्तार।[3]

जिस मामले में Q सकारात्मक निश्चित मैट्रिक्स है, समस्या उत्तल अनुकूलन के अधिक सामान्य क्षेत्र का एक विशेष मामला है।

समानता की कमी

द्विघात प्रोग्रामिंग विशेष रूप से सरल होती है जब Q सकारात्मक निश्चित मैट्रिक्स है और केवल समानता की बाधाएं हैं; विशेष रूप से, समाधान प्रक्रिया रैखिक है। Lagrange गुणकों का उपयोग करके और Lagrangian के चरम की तलाश करके, यह आसानी से दिखाया जा सकता है कि समानता की समस्या का समाधान

रैखिक प्रणाली द्वारा दिया गया है

कहाँ λ लैग्रेंज मल्टीप्लायरों का एक सेट है जो साथ में समाधान से निकलता है x.

इस प्रणाली तक पहुँचने का सबसे आसान साधन प्रत्यक्ष समाधान है (उदाहरण के लिए, LU गुणन), जो छोटी समस्याओं के लिए बहुत ही व्यावहारिक है। बड़ी समस्याओं के लिए, प्रणाली कुछ असामान्य कठिनाइयाँ उत्पन्न करती है, विशेष रूप से यह कि समस्या कभी भी सकारात्मक निश्चित नहीं होती है (भले ही Q is), एक अच्छा संख्यात्मक दृष्टिकोण खोजने के लिए इसे संभावित रूप से बहुत कठिन बना देता है, और समस्या पर निर्भर रहने के लिए कई दृष्टिकोण हैं।[5]

यदि बाधाएँ चरों को बहुत कसकर नहीं जोड़ती हैं, तो चरों को बदलने के लिए एक अपेक्षाकृत सरल हमला है ताकि बाधाएँ बिना शर्त संतुष्ट हों। उदाहरण के लिए मान लीजिए d = 0 (अशून्य के लिए सामान्यीकरण सीधा है)। बाधा समीकरणों को देखते हुए:

एक नया चर पेश करें y द्वारा परिभाषित

कहाँ y का आयाम है x बाधाओं की संख्या घटाएं। तब

और अगर Z इसलिए चुना जाता है EZ = 0 बाधा समीकरण हमेशा संतुष्ट रहेगा। ऐसे खोज रहे हैं Z की शून्य जगह खोजने पर जोर देता है E, जो की संरचना के आधार पर कमोबेश सरल है E. द्विघात रूप में प्रतिस्थापन एक अप्रतिबंधित न्यूनीकरण समस्या देता है:

जिसका समाधान इसके द्वारा दिया गया है:

कुछ शर्तों के तहत Q, कम मैट्रिक्स ZTQZ सकारात्मक निश्चित रहेगा। संयुग्मी प्रवणता पद्धति पर भिन्नता लिखना संभव है जो की स्पष्ट गणना से बचा जाता है Z.[6]


लग्रंगियन द्वैत

किसी QP की Lagrangian Dual समस्या भी एक QP है। इसे देखने के लिए आइए हम उस मामले पर ध्यान दें जहां c = 0 और Q सकारात्मक निश्चित है। लैग्रेंज गुणक फलन को हम इस प्रकार लिखते हैं

(Lagrangian) दोहरे कार्य को परिभाषित करना g(λ) जैसा , हम का एक infinum पाते हैं L, का उपयोग कर और सकारात्मक-निश्चितता Q:

इसलिए दोहरा कार्य है

और इसलिए QP का Lagrangian दोहरा है

Lagrangian द्वैत सिद्धांत के अलावा, अन्य द्वैत युग्म हैं (जैसे वोल्फ द्वैत, आदि)।

जटिलता

सकारात्मक-निश्चित मैट्रिक्स के लिए Qदीर्घवृत्ताभ विधि (कमजोर) बहुपद समय में समस्या को हल करती है।[7] यदि, दूसरी ओर, Q अनिश्चित है, तो समस्या एनपी कठिन है।[8] इन गैर-उत्तल समस्याओं के लिए कई स्थिर बिंदु और स्थानीय न्यूनतम हो सकते हैं। वास्तव में, भले ही Q केवल एक नकारात्मक eigenvalue है, समस्या (दृढ़ता से) एनपी-हार्ड है।[9]


पूर्णांक बाधाएँ

कुछ स्थितियाँ ऐसी होती हैं जहाँ सदिश के एक या अधिक अवयव होते हैं x पूर्णांक मान लेने की आवश्यकता होगी। इससे मिश्रित-पूर्णांक द्विघात प्रोग्रामिंग (MIQP) समस्या का निर्माण होता है।[10] MIQP के अनुप्रयोगों में जल संसाधन शामिल हैं[11] और ट्रैकिंग त्रुटि # इंडेक्स फंड निर्माण।[12]


सॉल्वर और स्क्रिप्टिंग (प्रोग्रामिंग) भाषाएं

नाम संक्षिप्त जानकारी
AIMMS अनुकूलन और शेड्यूलिंग-प्रकार की समस्याओं को मॉडलिंग और हल करने के लिए एक सॉफ्टवेयर सिस्टम
ALGLIB डुअल लाइसेंस (जीपीएल/मालिकाना) न्यूमेरिकल लाइब्रेरी (सी++, .नेट)।
एएमपीएल बड़े पैमाने पर गणितीय अनुकूलन के लिए एक लोकप्रिय मॉडलिंग भाषा।
एपीमॉनिटर मॉडलिंग और अनुकूलन सुइट के लिए एल.पी., क्यूपी, एनएलपी, मिलप, मिनएलपी, औरडीएई मैटलैब और पायथन में सिस्टम।
आर्टिलिस नाइट्रो अरेखीय अनुकूलन के लिए एक एकीकृत पैकेज
सीजीएएल एक खुला स्रोत कम्प्यूटेशनल ज्यामिति पैकेज जिसमें द्विघात प्रोग्रामिंग सॉल्वर शामिल है।
सीप्लेक्स एक एपीआई (सी, सी ++, जावा, .नेट, पायथन, मैटलैब और आर) के साथ लोकप्रिय सॉल्वर। शिक्षाविदों के लिए नि: शुल्क।
एक्सेल सॉल्वर फ़ंक्शन स्प्रैडशीट्स के लिए समायोजित एक अरैखिक सॉल्वर जिसमें फ़ंक्शन मूल्यांकन पुनर्गणना कोशिकाओं पर आधारित होते हैं। मूल संस्करण एक्सेल के लिए एक मानक ऐड-ऑन के रूप में उपलब्ध है।
जीएएमएस गणितीय अनुकूलन के लिए एक उच्च स्तरीय मॉडलिंग प्रणाली
जीएनयू ऑक्टेव एक नि: शुल्क (इसका लाइसेंस है GPLv3) संख्यात्मक कंप्यूटिंग के लिए सामान्य-उद्देश्य और मैट्रिक्स-उन्मुख प्रोग्रामिंग-भाषा, मैटलैब के समान। जीएनयू ऑक्टेव में क्वाड्रैटिक प्रोग्रामिंग इसके माध्यम से उपलब्ध है qp कमांड
हइस रैखिक प्रोग्रामिंग (एलपी), मिश्रित-पूर्णांक प्रोग्रामिंग (एमआईपी), और उत्तल द्विघात प्रोग्रामिंग (क्यूपी) मॉडल को हल करने के लिए ओपन-सोर्स सॉफ़्टवेयर
आईएमएसएल गणितीय और सांख्यिकीय कार्यों का एक सेट जिसे प्रोग्रामर अपने सॉफ्टवेयर अनुप्रयोगों में एम्बेड कर सकते हैं।
आईपीओपीटी इपॉप्ट (इंटीरियर पॉइंट ऑप्टिमाइज़र) बड़े पैमाने पर नॉनलाइनियर ऑप्टिमाइज़ेशन के लिए एक सॉफ्टवेयर पैकेज है।
मेपल गणित के लिए सामान्य प्रयोजन प्रोग्रामिंग भाषा। मेपल में द्विघात समस्या का समाधान इसके माध्यम से पूरा किया जाता है QPSolve कमांड.
मैटलैब संख्यात्मक कंप्यूटिंग के लिए एक सामान्य-उद्देश्य और मैट्रिक्स-उन्मुख प्रोग्रामिंग-भाषा। मैटलैब में द्विघात प्रोग्रामिंग के लिए बेस मैटलैब उत्पाद के अलावा ऑप्टिमाइज़ेशन टूलबॉक्स की आवश्यकता होती है
गणितीय प्रतीकात्मक और संख्यात्मक क्षमताओं सहित गणित के लिए एक सामान्य-उद्देश्य प्रोग्रामिंग-भाषा।
मोसेक कई भाषाओं (सी ++, जावा, .नेट, मैटलैब और पायथन) के लिए एपीआई के साथ बड़े पैमाने पर अनुकूलन के लिए एक सॉल्वर।
एनएजी न्यूमेरिकल लाइब्रेरी द्वारा विकसित गणितीय और सांख्यिकीय दिनचर्या का एक संग्रहसंख्यात्मक एल्गोरिदम समूह या कई प्रोग्रामिंग लैंग्वेज (सी, सी++, फोरट्रान, विजुअल बेसिक, जावा और सी#) और पैकेज (मैटलैब, एक्सेल, आर, लैबव्यू)। एनएजी लाइब्रेरी के ऑप्टिमाइज़ेशन चैप्टर में विरल और गैर-विरल रेखीय बाधा मैट्रिस दोनों के साथ द्विघात प्रोग्रामिंग समस्याओं के लिए रूटीन शामिल हैं, साथ में लीनियर, नॉनलाइनियर के अनुकूलन के लिए रूटीन के साथ, नॉनलाइनियर, बाउंडेड या नो कंस्ट्रेंट्स के साथ लीनियर या नॉनलाइनियर फ़ंक्शंस के वर्गों का योग। . एनएजी लाइब्रेरी में स्थानीय और वैश्विक अनुकूलन दोनों के लिए और निरंतर या पूर्णांक समस्याओं के लिए रूटीन हैं।
पाइथन अधिकांश उपलब्ध सॉल्वरों के लिए बाइंडिंग के साथ उच्च-स्तरीय प्रोग्रामिंग भाषा। द्विघात प्रोग्रामिंग के माध्यम से उपलब्ध है solve_qp फ़ंक्शन या किसी विशिष्ट सॉल्वर को सीधे कॉल करके.
आर (फोरट्रान) GPLफ़ंक्शन या एक विशिष्ट सॉल्वर को कॉल करके डायरेक्टली यूनिवर्सल क्रॉस-प्लेटफ़ॉर्म सांख्यिकीय संगणना फ्रेमवर्क। एक्टली
एसएएस / ओआर लीनियर, इंटीजर, नॉनलाइनियर, डेरिवेटिव-फ्री, नेटवर्क, कॉम्बिनेटोरियल और कंस्ट्रेंट ऑप्टिमाइजेशन के लिए सॉल्वर का एक सूट; बीजगणितीय मॉडलिंग भाषा ऑप्टमॉडल; और विशिष्ट समस्याओं/बाजारों के उद्देश्य से विभिन्न प्रकार के लंबवत समाधान, जिनमें से सभी पूरी तरह से एकीकृत हैं एसएएस सिस्टम.
सुआन्शु हल करने के लिए ऑप्टिमाइज़ेशन एल्गोरिदम का एक ओपन-सोर्स सूटएल.पी., क्यूपी, एसओसीपी, एसडीपी, एसक्यूपी जावा में
टीके सॉल्वर यूनिवर्सल टेक्निकल सिस्टम्स, इंक द्वारा व्यावसायिक रूप से घोषित, नियम-आधारित भाषा पर आधारित गणितीय मॉडलिंग और समस्या निवारण सॉफ्टवेयर सिस्टम।
टॉमलैब वैश्विक अनुकूलन, पूर्णांक प्रोग्रामिंग, सभी प्रकार के न्यूनतम वर्ग, रैखिक, द्विघात और अप्रतिबंधित प्रोग्रामिंग का समर्थन करता है मैटलैब. टॉमलैब जैसे सॉल्वर का समर्थन करता है सीप्लेक्स, स्नाप्त और नाइट्रो.
एक्सप्रेस बड़े पैमाने पर रैखिक कार्यक्रमों, द्विघात कार्यक्रमों, सामान्य गैर-रैखिक और मिश्रित-पूर्णांक कार्यक्रमों के लिए सॉल्वर। कई प्रोग्रामिंग भाषाओं के लिए एपीआई है, एक मॉडलिंग भाषा मोसेल भी है और एएमपीएल के साथ काम करती है, जीएएमएस. अकादमिक उपयोग के लिए नि: शुल्क।


यह भी देखें

संदर्भ

  1. Wright, Stephen J. (2015), "Continuous Optimization (Nonlinear and Linear Programming)", in Nicholas J. Higham; et al. (eds.), The Princeton Companion to Applied Mathematics, Princeton University Press, pp. 281–293
  2. Nocedal, Jorge; Wright, Stephen J. (2006). Numerical Optimization (2nd ed.). Berlin, New York: Springer-Verlag. p. 449. ISBN 978-0-387-30303-1..
  3. 3.0 3.1 Murty, Katta G. (1988). Linear complementarity, linear and nonlinear programming. Sigma Series in Applied Mathematics. Vol. 3. Berlin: Heldermann Verlag. pp. xlviii+629 pp. ISBN 978-3-88538-403-8. MR 0949214. Archived from the original on 2010-04-01.
  4. Delbos, F.; Gilbert, J.Ch. (2005). "Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems" (PDF). Journal of Convex Analysis. 12: 45–69. Archived (PDF) from the original on 2022-10-09.
  5. Google search.
  6. Gould, Nicholas I. M.; Hribar, Mary E.; Nocedal, Jorge (April 2001). "On the Solution of Equality Constrained Quadratic Programming Problems Arising in Optimization". SIAM J. Sci. Comput. 23 (4): 1376–1395. CiteSeerX 10.1.1.129.7555. doi:10.1137/S1064827598345667.
  7. Kozlov, M. K.; S. P. Tarasov; Leonid G. Khachiyan (1979). "[Polynomial solvability of convex quadratic programming]". Doklady Akademii Nauk SSSR. 248: 1049–1051. Translated in: Soviet Mathematics - Doklady. 20: 1108–1111. {{cite journal}}: Missing or empty |title= (help)
  8. Sahni, S. (1974). "Computationally related problems" (PDF). SIAM Journal on Computing. 3 (4): 262–279. CiteSeerX 10.1.1.145.8685. doi:10.1137/0203021.
  9. Pardalos, Panos M.; Vavasis, Stephen A. (1991). "Quadratic programming with one negative eigenvalue is (strongly) NP-hard". Journal of Global Optimization. 1 (1): 15–22. doi:10.1007/bf00120662. S2CID 12602885.
  10. Lazimy, Rafael (1982-12-01). "Mixed-integer quadratic programming". Mathematical Programming (in English). 22 (1): 332–349. doi:10.1007/BF01581047. ISSN 1436-4646. S2CID 8456219.
  11. Propato Marco; Uber James G. (2004-07-01). "Booster System Design Using Mixed-Integer Quadratic Programming". Journal of Water Resources Planning and Management. 130 (4): 348–352. doi:10.1061/(ASCE)0733-9496(2004)130:4(348).
  12. Cornuéjols, Gérard; Peña, Javier; Tütüncü, Reha (2018). Optimization Methods in Finance (2nd ed.). Cambridge, UK: Cambridge University Press. pp. 167–168. ISBN 9781107297340.


अग्रिम पठन


बाहरी संबंध

| group5 = Metaheuristics | abbr5 = heuristic | list5 =

| below =

}} | group5 =Metaheuuristic |abbr5 = heuristic | list5 =*विकासवादी एल्गोरिथ्म

| below =* सॉफ्टवेयर

}}