Programacion Cuadratica
Upcoming SlideShare
Loading in...5

Programacion Cuadratica






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Programacion Cuadratica Programacion Cuadratica Presentation Transcript

  • Programación cuadrática
    José F. Nieves
    Mathematical methods research
    MATH 6350
    Prof. Balbino García
  • 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.
  • La programación cuadrática se puede formular de la siguiente forma:
    Se asume que x representa . .Q es una matriz simétrica nxn y que c es cualquier vector nx1.
  • Examples
    Find values of x that minimize
    subject to
    x1 + x2 ≤ 2–x1 + 2x2 ≤ 22x1 + x2 ≤ 30 ≤ x1, 0 ≤ x2.
    First, note that this function can be written in matrix notation as
    Enter these coefficient matrices.
    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.
    [x,fval,exitflag,output,lambda] = ... quadprog(H,f,A,b,[],[],lb) This generates the solution
    x = 0.6667 1.3333 fval = -8.2222 exitflag = 1 output = iterations: 3 algorithm: 'medium-scale: active-set' firstorderopt: [] cgiterations: [] message: 'Optimization terminated.' 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
  • Quadratic programming codes:
    BQPD from Roger Fletcher
    CPLEX Barrier/QP solver
    CPLEX Simplex/QP solver
    CPLEX Mixed-integer QP solver
    The Xpress-MP Newton-barrier QP solver from Dash Optimization
    HOPDM from JacekGondzio and Anna Altman
    The packages QPC, QPB and QPA from GALAHAD
    The packages VE02, VE09, VE17, HSL_VE12 and HSL_VE19 from HSL (formerly known as the Harwell Subroutine Library)
    LOQO from Bob Vanderbei
    MINQ for convex general and non-convex bound constrained problems, in Matlab, by Arnold Neumaier
    CirCut for finding approximate solutions to certain binary quadratic programs, including the Max-Cut and the Max-Bisection problems, by Yin Zhang
    The subroutines E04NCF, E04NFF, E04NKF, H02CBF and H02CEF from the NAG fortran library
    The package nag_qp_sol from the NAG fl90 library
    The subroutines nag_opt_lin_lsq and nag_opt_sparse_convex_qp from the NAG C library
    KNITRO from Ziena Optimization Inc. is highly QP-capable.
    LSSOL from SOL Optimization Software
    OOQP by Mike Gertz and Steve Wright
    QPOPT again from SOL Optimization Software
    The C/Python QP package which is part of CVXOPT
    The package IQP, by Linda Kaufman and Jessica Hodgins, from the PORT Mathematical Subroutine Library
    The MOSEK package from Erling and Knud Andersen
    The subroutine HSQP from John Betts, which is Algorithm 559 from the Collected Algorithms of the ACM
    The COPL_QP package of Xiong Zhang and Yinyu Ye
    BerwinTurlach'sQuadProg, a Fortran 77 package for convex QP based on Goldfarb and Idnani's dual active-set method.
    QuadProg++, a C++ solver for (strictly) convex problems from Luca Di Gaspero
    The exact solver QP_solver, part of the Computational Geometry Algorithms Library (CGAL)