在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → CVX使用手册

CVX使用手册

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.53M
  • 下载次数:5
  • 浏览次数:141
  • 发布时间:2020-08-29
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
介绍了Matlab上凸优化包CVX的概况以及使用说明,指导编写凸优化程序
CONTENTS 1 Introduction 1. What is CVX? 1.2 What is disciplined convex programming 1. 3 What cvX is not 1.4 Licensing 2 Installation 2.1 Supported platforms 2.2 Installation instructions 2.3 Installing a cvX Professional license 11233555667 2.4 USing cvx with Gurobi or mosek 2.5 About the included solvers 3 A quick start 3.1 Least squares ·· 3.2 Bound-constrained least squares 3. 3 Other norms and functions ,12 3.4 Other constraints 14 3.5 An optimal trade-off curve 15 4 The basics 19 4.1 cvx begin and cvx end 19 4.2 Variabl 4.3 Objective functions 20 44 Constraints 21 4.5 Functions 4.6 Set mem .22 4.7 Dual variables 23 4.8 Assignment and expression holders 25 5 The dcp ruleset 29 5.1 A taxonomy of curvature .29 5.2 Top-level rules 30 5.3 Constraints 30 5.4 Expression rules 31 5.5 Functions 32 5.6 Compositions 34 5.7 Monotonicity in nonlinear compositions 35 5.8 Scalar quadratic forms 36 6 Semidefinite programming mode 7 Geometric programming mode 41 7.1 Top 41 7.2 Constraints 42 7.3 Expressions 42 8 Solvers 45 8.1 Supported solvers 45 8.2 Selecting a solver 45 8.3 Controlling screen output 46 8.4 Interpreting the results 46 8.5 Controlling precision 47 8.6 Advanced solver settings 49 9 Reference guide 51 9.1 Arithmetic operators 51 9.2 Built-in functions 52 9.3 New functions .53 9. 4 Sets 57 9.5 Commands 10 Support 61 10.1 The cvX forum 61 10.2 Bug reports 61 10.3 What is a bug? 62 10.4 Handling numerical issues 63 10.5 CVX Professional support 11 Advanced topics 65 11. 1 Eliminating quadratic forms 65 11.2 Indexed dual variables ..66 11. 3 The successive approximation method 67 11.4 Power functions and p-norms 68 11. 5 Overdetermined problems 69 11.6 Adding new functions to the atom library 69 12 License 75 12.1 CVX Professional license 75 12.2 CVX Standard License 75 12.3 Solver Interfaces 76 12.4 Bundled solvers 76 12.5 Example library 77 12.6 No Warranty 77 13 Citing CVX 14 Credits and Acknowledgements 81 Bibliography 83 Index 85 Iv CHAPTER ONE NTRODUCTION 1.1 What is CVX? CVX is a modeling system for constructing and solving disciplined convex programs (DCPs). CVX supports a number of standard problem types, including lincar and quadratic programs (Lps/QPs), second-order cone programs(SOCPs), and semidefinite programS(SDPs). CvX can also solve much more complex convex optimization problems, including many involving nondifferentiable functions, such as l1 norms. You can use CvX to conveniently formulate and solve constrained norm minimization, entropy maximization, determinant maximization, and many other convex programs. As of version 2.0, CVX also solves mixed integer disciplined convex programs (MIDCPs)as well, with an appropriate integer-capable solver To use CVX effectively, you need to know at least a bit about convex optimization. For background on convex optimization, see the book Convex Optimization [B vo4] or the Stanford course EE364A CVX is implemented in Matlab, effectively turning Matlab into an optimization modeling language Model specifications are constructed using common Matlab operations and functions, and standard Matlab code can be freely mixed with these specifications. This combination makes it simple to perform the calculations needed to form optimization problems, or to process the results obtained from their solution. For example it is easy to compute an optimal trade-off curve by forming and solving a family of optimization problems by varying the constraints as another ex ample cvx can be used as a component of a larger system that uses convex optimization, such as a branch and bound method, or an engineering design framework CVX provides special modes to simplify the construction of problems from two specific problem classes In semidefinite programming(SDP) mode, CVX applies a matrix interpretation to the inequality operator, so that linear matrix inequalities (LMis) and SdPs may be expressed in a more natural form In geometric programming(GP)mode, CVX accepts all of the special functions and combination rules of geometric pro- gramming, including monomials, posynomials, and generalized posynomials, and transforms such problems into convex form so that they can be solved efficiently. For background on geometric programming, see this tutorial paper [BKVHo5 Previous versions of CVX supported two free SQLP solvers, SeDuMi [Stu99] and SDPT3 [TTTo3]. These solvers are included with the CvX distribution. This version includes support for two more solvers, Gurobi and MOSEK. For more information, see Solvers. These are commercial solvers, and must be acquired separately The ability to use CvX with commercial solvers is a new capability that we have decided to include under a new CvX Professional license model. Academic users will be able to utilize these features at no charge but commercial users will require a paid CVX Professional license. For more details, see Licensing The cvX Users' Guide, Release 2.0(beta) 1.1.1 What's new? Support for commercial solvers; see Solvers Binary and integer variable support; see Mixed integer problems Commercial licensing for advanced features; see Licensing New support options: see Support. The default solver choice and other preferences can be saved across MATLAB using the cvx_save_prefs command 1.2 What is disciplined convex programming? Disciplined convex programming is a methodology for constructing convex optimization problems proposed by Michael Grant, Stephen Boyd, and Yinyu Ye [GBYo6], [Gra04]. It is meant to support the formulation and construction of optimization problems that the user intends from the outset to be convex Disciplined convex programming imposes a set of conventions or rules, which we call the Dcp ruleset Problems which adhere to the ruleset can be rapidly and automatically verified as convex and converted to solvable form. Problems that violate the ruleset are rejected--even when the problem is convex. That is not to say that such problems cannot be solved using DCP; they just need to be rewritten in a way that conforms to the dcp ruleset a detailed description of the DCp ruleset is given in The DCP ruleset. It is extremely important for anyone who intends to actively use CvX to understand it. The ruleset is simple to learn, and is drawn from basic principles of convex analysis. In return for accepting the restrictions imposed by the ruleset, we obtain considerable benefits, such as automatic conversion of problems to solvable form, and full support for non- differentiable functions. In practice, we have found that disciplined convex programs closely resemble their natural mathematical forms 1.2.1 Mixed integer problems With version 2.0, CVX now supports mixed integer disciplined convex programs (MIDCPs). A MIDCP is a model that obeys the same convexity rules as standard dcPs, except that one or more of its variables is constrained to take on integral values in other words if the integer constraints are removed the result is a standard dcp Unlike a true DCP, a mixed integer problem is not convex. Finding the global optimum requires the combi nation of a traditional convex optimization algorithm with an exhaustive search such as a branch-and-bound algorithm. Some CvX solvers do not include this second piece and therefore do not support MIDCPs; Se Solvers for more information. What is more, even the best solvers cannot guarantee that every moderately- sized midcp can be solved in a reasonable amount of time Mixed integer disciplined convex programming represents new territory for the cvX modeling framework and for the supporting solvers as well while solvers for mixed integer linear and quadratic programs (MILP/MIQP)are reasonably mature, support for more general convex nonlinearities is a relatively new development. We anticipate that MIdCP support will improve over time Chapter 1. Introduction The cvX Users Guide, Release 2.0 (beta) 1.3 What CVX is not CVX is not meant to be a tool for checking if your problem is convex. You need to know a bit about convex optimization to effectively use CVX; otherwise you are the proverbial monkey at the typewriter, hoping to (accidentally) type in a valid disciplined convex program. If you are not certain that your problem is convex before you enter it into CvX, you are using the tool improperly, and your efforts will likely fail CVX is not meant for very large problems, so if your problem is very large(for example, a large image processing or machine learning problem), CVX is unlikely to work well(or at all). For such problems you will likely need to directly call a solver, or to develop your own methods, to get the efficiency you need For such problems CvX can play an important role, however. Before starting to develop a specialized large-scale method, you can use CvX to solve scaled-down or simplified versions of the problem, to rapidly experiment with exactly what problem you want to solve For image reconstruction, for example, you might use cvx to experiment with different problem formulations on 50 x 50 pixel images CvX will solve many medium and large scale problems, provided they have exploitable structure(such as sparsity ), and you avoid for loops, which can be slow in Matlab, and functions like log and exp that require successive approximation. If you encounter difficulties in solving large problem instances consider posting your model to the cvX Forum; the cvX community may be able to suggest an equivalent formulation that CVX can process more efficiently. 1.4 Licensing CVX is free for use in both academic and commercial settings when paired with a free solver-including the versions of SeDuMi and SdPt3 that are included with the package With version 2.0, we have added the ability to connect cvX to commercial solvers as well. This new functionality is released under a CvX Professional product tier which we intend to license to commercial users for a fee and offer to academic users at no charge. The licensing structure is as follows All users are free to use the standard features of CvX al no charge. This includes the ability to construct and solve any of the models supported by the free solvers seDuMi and SDPt3 Commercial users who wish to solve CvX models using Gurobi or mosek will need to purchase a CVX Professional license. Please send an email to CVX Research for inquiries. for an availability schedule and pricing details Academic users may utilize the cvX Professional capability at no charge. To obtain an academic license, please visit the Academic licenses page on the CvX Research web site The bulk of C VX remains open source under a slightly modified version of the gPl version 2 license. A small number of files that support the cvX Professional functionality remain closed source. If those files are removed, the modified package remains fully functional using the free solvers, SeDuMi and SDPT3 Users may freely modify, augment, and redistribute this free version of CVX, as long as all modifications are themselves released under the same license. This includes adding support for new solvers released under a free software license such as the GPL. For more details, please see the full Licensing section 1.3. What CVX is not The cvX Users' Guide, Release 2.0(beta) Chapter 1. Introduction 【实例截图】
【核心代码】

标签:

实例下载地址

CVX使用手册

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警