« Previous « Start » Next »
5 Mixed-Integer Quadratic Programming
In
mipq_prob
there are 4 mixed-integer quadratic programming test problems
with sizes to about 120 variables and slightly more than 100 constraints.
In order to define the problem
n
and solve it execute the following in Matlab:
Prob = probInit('miqp_prob',n);
Result = tomRun('',Prob);
The basic structure of a general mixed-integer quadratic programming problem is:
|
|
|
|
|
s/t |
xL |
≤ |
x |
≤ |
xU, |
bL |
≤ |
A x |
≤ |
bU,
xj N j I |
|
|
(6) |
where
c,
x,
xL,
xU Rn,
A Rm1
× n, and
bL,
bU Rm1. 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 mipqQG:
File: tomlab/quickguide/miqpQG.m
% miqpQG is a small example problem for defining and solving
% mixed-integer quadratic programming problems using the TOMLAB format.
c = [-6 0]';
Name = 'XP Ref Manual MIQP';
F = [4 -2;-2 4];
A = [1 1];
b_L = -Inf;
b_U = 1.9;
x_L = [0 0]';
x_U = [Inf Inf]';
% Defining first variable as an integer
IntVars = 1;
% Assign routine for defining a MIQP problem.
Prob = miqpAssign(F, c, A, b_L, b_U, x_L, x_U, [], ...
IntVars, [], [], [], Name, [], []);
% Calling driver routine tomRun to run the solver.
% The 1 sets the print level after optimization.
Result = tomRun('cplex', Prob, 1);
%Result = tomRun('oqnlp', Prob, 1);
%Result = tomRun('miqpBB', Prob, 1);
%Result = tomRun('xpress-mp', Prob, 1);
%Result = tomRun('minlpBB', Prob, 1);
« Previous « Start » Next »