# TOMLAB  
# REGISTER (TOMLAB)
# LOGIN  
# myTOMLAB
TOMLAB LOGO

« 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:

 
min
x
f(x) =
1
2
xT F x + cT x
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 »