source: src/main/java/agents/anac/y2019/agentperaltav2/MySimplex.java@ 204

Last change on this file since 204 was 204, checked in by Katsuhide Fujita, 5 years ago

Fixed errors of ANAC2019 agents

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1package agents.anac.y2019.agentperaltav2;
2
3import agents.anac.y2019.agentperaltav2.it.ssc.log.SscLogger;
4import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.ConsType;
5import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.Constraint;
6import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.GoalType;
7import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.LP;
8import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.LinearObjectiveFunction;
9import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.Solution;
10import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.SolutionType;
11import agents.anac.y2019.agentperaltav2.it.ssc.pl.milp.Variable;
12
13import java.util.ArrayList;
14
15public class MySimplex {
16
17
18 public double d[];
19
20 public MySimplex() {
21
22 }
23
24
25 public void RunSimplexAlgorithm(double[][] constraintLeftSide, double[] constraintRightSide, double[] objectiveFunc, ConsType[] constraintOperator) throws Exception {
26 double A[][]=constraintLeftSide.clone();
27 double b[]= constraintRightSide.clone();
28 double c[]= objectiveFunc.clone();
29 d= objectiveFunc.clone();
30 ConsType[] rel= constraintOperator.clone();
31 ConstraintsTable myTable = new ConstraintsTable();
32
33
34
35
36 LinearObjectiveFunction f = new LinearObjectiveFunction(c, GoalType.MIN);
37
38 ArrayList< Constraint > constraints = new ArrayList< Constraint >();
39 for(int i=0; i < A.length; i++) {
40 constraints.add(new Constraint(A[i], rel[i], b[i]));
41 }
42 LP lp = new LP(f,constraints);
43 SolutionType solution_type=lp.resolve();
44
45 if(solution_type==SolutionType.OPTIMUM) {
46 Solution solution=lp.getSolution();
47 for(Variable var:solution.getVariables()) {
48 SscLogger.log("Variable name :"+var.getName() + " value:"+var.getValue());
49 }
50 int i=0;
51 for(Variable var:solution.getVariables()) {
52 d[i] = var.getValue();
53 i++;
54 }
55
56 myTable.simplexResults = d.clone();
57
58
59 SscLogger.log("Value :"+solution.getOptimumValue());
60 }
61 }
62
63}
Note: See TracBrowser for help on using the repository browser.