summaryrefslogtreecommitdiff
path: root/tests/general_tests/symphony/symphony_logical1.sce
blob: 5c41a9aa5222866c62f9168f8cace48d70c25407 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// A basic case :

// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. "An application of mixed integer programming in a Swedish steel mill." Interfaces 7, no. 2 (1977): 39-43.
// Objective function
c = [350*5,330*3,310*4,280*6,500,450,400,100]';

// Lower Bound of variable
lb = repmat(0,8,1);

// Upper Bound of variables
ub = [repmat(1,4,1);repmat(%inf,4,1)];

// Constraint Matrix
conMatrix = [5,3,4,6,1,1,1,1;
5*0.05,3*0.04,4*0.05,6*0.03,0.08,0.07,0.06,0.03;
5*0.03,3*0.03,4*0.04,6*0.04,0.06,0.07,0.08,0.09;]

// Lower Bound of constrains
conlb = [ 25; 1.25; 1.25]

// Upper Bound of constrains
conub = [ 25; 1.25; 1.25]

// Row Matrix for telling symphony that the is integer or not
isInt = [repmat(%t,1,4) repmat(%f,1,4)];

// Output
//Problem loaded into environment.
//
//Note: There is no limit on time.
//
//An optimal solution has been found.
// 
//    0.  
// 
//   Iterations: 1
// 
// output   
// 
//    227.  
// 
// status   
// 
//    8495.  
// 
// f   
// 
//    1.    
//    1.    
//    0.    
//    1.    
//    7.25  
//    0.    
//    0.25  
//    3.5   
// 
// x 

// Calling Symphony
[x,f,status,output] = symphony(8,3,c,isInt,lb,ub,conMatrix,conlb,conub,1)
disp("x",x,"f",f,"status",status,"output",output);