summaryrefslogtreecommitdiff
path: root/tests/general_tests/cbcintlinprog/cbcintlinprog_ub3.sce
blob: d7537ac7d4747a0760dd6208ae89f2620a0fd445 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Check if a user specifies coefficients of linear inequality contraints of the correct dimensions 

// Reference : Example 2 -1, Travelling salesman , Hamdy A. Taha. "Operations Research-An Introduction", 9E(2014))

// Objective function
c = [1000,10,17,15,20,1000,19,18,50,44,1000,22,45,40,20,1000]';

// Lower Bound of variable
lb = repmat(0,1,8) ;
// Upper Bound of variables
ub = repmat(1,1,16)' ;

// Constraint Matrix
Aeq=[1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;
     0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0;
     0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0;
     0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1;
     1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0;
     0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0;
     0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0;
     0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1;]

beq=repmat(1,1,8)

intcon = 1:1:16 ;

// Calling cbcintlinprog
[x,f,status,output] = cbcintlinprog(c,intcon,[],[],Aeq,beq,lb,ub)
//output  =
//  !--error 10000 
// cbcintlinprog: The Lower Bound is not equal to the number of variables
// at line     153 of function cbcmatrixintlinprog called by :  
// at line     203 of function cbcintlinprog called by :  
// [x,f,status,output] = cbcintlinprog(c,intcon,[],[],Aeq,beq,lb,ub)
// at line      28 of exec file called by :    
// exec ~/FOSSEE/Test/test/cbcintlinprog/cbcintlinprog_ub3.sce