Models Mixed-Integer Quadratic Programming Problems with Quadratic Constraints: miqq prob: Difference between revisions

From TomWiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 11: Line 11:


<math>
<math>
\begin{array}{ccccccl}\min\limits_{x} & \multicolumn{5}{l}{f(x) = \frac{1}{2}x^T F x + c^T x}  \\s/t & x_{L} & \leq  & x    & \leq  & x_{U} \\    & b_{L} & \leq  & Ax  & \leq  & b_{U} \\    &      &      & x^T Q^{(i)} x + a^{(i)T} x  & \leq & r^{(i)}_{U}, & =1,\ldots,n_{qc} \\    &      &      & x_i \mathrm{\ \ integer} &  & i \in I \\\end{array}
\begin{array}{ccccccl}\min\limits_{x} & {f(x) = \frac{1}{2}x^T F x + c^T x}  \\s/t & x_{L} & \leq  & x    & \leq  & x_{U} \\    & b_{L} & \leq  & Ax  & \leq  & b_{U} \\    &      &      & x^T Q^{(i)} x + a^{(i)T} x  & \leq & r^{(i)}_{U}, & =1,\ldots,n_{qc} \\    &      &      & x_i \mathrm{\ \ integer} &  & i \in I \\\end{array}
</math>
</math>


where <math>c, x, x_{L}, x_{U}, a^{(i)} \in \MATHSET{R}^{n}</math>, <math>F,
where <math>c, x, x_{L}, x_{U}, a^{(i)} \in \mathbb{R}^{n}</math>, <math>F,
Q^{(i)}\in \MATHSET{R}^{n\times n}</math>, <math>A\in \MATHSET{R}^{m\times
Q^{(i)}\in \mathbb{R}^{n\times n}</math>, <math>A\in \mathbb{R}^{m\times
n}</math> and <math>b_{L},b_{U}\in \MATHSET{R}^{m}</math>. <math>r^{(i)}_{U}</math> is a
n}</math> and <math>b_{L},b_{U}\in \mathbb{R}^{m}</math>. <math>r^{(i)}_{U}</math> is a
scalar. The variables <math>x \in I</math>, the index subset of <math>1,...,n</math>,
scalar. The variables <math>x \in I</math>, the index subset of <math>1,...,n</math>,
are restricted to be integers.
are restricted to be integers.

Revision as of 12:57, 8 December 2011

Notice.png

This page is part of TOMLAB Models. See TOMLAB Models.

In miqq_prob there are 14 mixed-integer quadratic programming test problems with quadratic constraints with sizes to 10 variables and 8 constraints. In order to define the problem n and solve it execute the following in Matlab:

Prob	= probInit('miqq_prob',n); 
Result  = tomRun('',Prob);

The basic structure of a general mixed-integer quadratic programming problem with quadratic constraints is:


where , , and . is a scalar. The variables , the index subset of , are restricted to be integers.

An example of a problem of this class, (that is also found in the TOMLAB quickguide) is miqqQG:

File: tomlab/quickguide/miqqQG.m

% miqqQG is a small example problem for defining and solving
% mixed-integer quadratic programming problems with quadratic constraints
% using the TOMLAB format.

Name = 'MIQQ Test Problem 1';
f_Low = -1E5;
x_opt = [];
f_opt = [];
IntVars = [0 0 1];

F   = [2 0 0;0 2 0;0 0 2];
A   = [1 2 -1;1 -1 1];
b_L = [4 -2]';
b_U = b_L;
c   = zeros(3,1);

x_0 = [0 0 0]';
x_L = [-10 -10 -10]';
x_U = [10 10 10]';
x_min = [0 0 -1]';
x_max = [2 2 1]';

% Adding quadratic constraints

qc(1).Q = speye(3,3);
qc(1).a = zeros(3,1);
qc(1).r_U = 3;

qc(2).Q = speye(3,3);
qc(2).a = zeros(3,1);
qc(2).r_U = 5;

Prob = miqqAssign(F, c, A, b_L, b_U, x_L, x_U, x_0, qc,...
                  IntVars, [], [], [],...
                  Name, [], [],...
                  x_min, x_max, f_opt, x_opt);

Result = tomRun('cplex', Prob, 1);
% Result = tomRun('minlpBB', Prob, 1);