« Previous « Start » Next »
6 Mixed-Integer Quadratic w QC
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:
|
|
|
s/t |
xL |
≤ |
x |
≤ |
xU |
|
bL |
≤ |
Ax |
≤ |
bU |
|
|
|
xT Q(i) x + a(i)T x |
≤ |
rU(i), |
i=1,…,nqc |
|
|
|
xi integer |
|
i I |
|
(7) |
where
c,
x,
xL,
xU,
a(i) Rn,
F,
Q(i) Rn× n,
A Rm×
n and
bL,
bU Rm.
rU(i) is a
scalar. The variables
x I, the index subset of 1,...,
n,
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);
« Previous « Start » Next »