Programacion Cuadratica


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Programacion Cuadratica

  1. 1. Programación cuadrática<br />José F. Nieves<br />Mathematical methods research<br />MATH 6350<br />Prof. Balbino García<br />
  2. 2. La programación cuadrática es un problema de optimización matemática. La cual busca minimizar o maximizar una función cuadrática con diferentes variables sujeto a limitaciones lineales sobre estas variables. <br />Definición<br />
  3. 3. La programación cuadrática se puede formular de la siguiente forma:<br />Se asume que x representa . .Q es una matriz simétrica nxn y que c es cualquier vector nx1.<br />
  4. 4. Examples<br />Find values of x that minimize<br /> subject to<br />x1 + x2 ≤ 2–x1 + 2x2 ≤ 22x1 + x2 ≤ 30 ≤ x1, 0 ≤ x2.<br />First, note that this function can be written in matrix notation as<br /> where <br /> Enter these coefficient matrices.<br /> H = [1 -1; -1 2] f = [-2; -6] A = [1 1; -1 2; 2 1] b = [2; 2; 3] lb = zeros(2,1) Next, invoke a quadratic programming routine.<br /> [x,fval,exitflag,output,lambda] = ... quadprog(H,f,A,b,[],[],lb) This generates the solution<br /> x = 0.6667 1.3333 fval = -8.2222 exitflag = 1 output = iterations: 3 algorithm: &apos;medium-scale: active-set&apos; firstorderopt: [] cgiterations: [] message: &apos;Optimization terminated.&apos; lambda = lower: [2x1 double] upper: [2x1 double] eqlin: [0x1 double] ineqlin: [3x1 double] lambda.ineqlinans = 3.1111 0.4444 0 lambda.lowerans = 0 0 Nonzero elements of the vectors in the fields of lambda indicate active constraints at the solution. In this case, the first and second inequality constraints (in lambda.ineqlin) are active constraints (i.e., the solution is on their constraint boundaries). For this problem, all the lower bounds are inactive<br />Ejemplos<br />
  5. 5. Quadratic programming codes:<br />BQPD from Roger Fletcher <br />CPLEX Barrier/QP solver <br />CPLEX Simplex/QP solver <br />CPLEX Mixed-integer QP solver <br />The Xpress-MP Newton-barrier QP solver from Dash Optimization <br />HOPDM from JacekGondzio and Anna Altman <br />LINDO<br />The packages QPC, QPB and QPA from GALAHAD<br />The packages VE02, VE09, VE17, HSL_VE12 and HSL_VE19 from HSL (formerly known as the Harwell Subroutine Library) <br />LOQO from Bob Vanderbei<br />MINQ for convex general and non-convex bound constrained problems, in Matlab, by Arnold Neumaier<br />CirCut for finding approximate solutions to certain binary quadratic programs, including the Max-Cut and the Max-Bisection problems, by Yin Zhang <br />The subroutines E04NCF, E04NFF, E04NKF, H02CBF and H02CEF from the NAG fortran library <br />The package nag_qp_sol from the NAG fl90 library <br />The subroutines nag_opt_lin_lsq and nag_opt_sparse_convex_qp from the NAG C library <br />KNITRO from Ziena Optimization Inc. is highly QP-capable. <br />LSSOL from SOL Optimization Software <br />OOQP by Mike Gertz and Steve Wright <br />QPOPT again from SOL Optimization Software <br />The C/Python QP package which is part of CVXOPT<br />The package IQP, by Linda Kaufman and Jessica Hodgins, from the PORT Mathematical Subroutine Library <br />The MOSEK package from Erling and Knud Andersen <br />The subroutine HSQP from John Betts, which is Algorithm 559 from the Collected Algorithms of the ACM <br />The COPL_QP package of Xiong Zhang and Yinyu Ye <br />BerwinTurlach&apos;sQuadProg, a Fortran 77 package for convex QP based on Goldfarb and Idnani&apos;s dual active-set method. <br />QuadProg++, a C++ solver for (strictly) convex problems from Luca Di Gaspero<br />The exact solver QP_solver, part of the Computational Geometry Algorithms Library (CGAL) <br />Codigos<br />
  6. 6.<br /><br /><br /><br /><br /><br />Bibliografía<br />