Benders2Stage.java
72 GAMSParameter cutconst = masteri.SyncDB().addParameter("cutconst", 1, "Benders optimality cut constant");
73 GAMSParameter cutcoeff = masteri.SyncDB().addParameter("cutcoeff", 2, "Benders optimality coefficients");
74 GAMSVariable theta = masteri.SyncDB().addVariable("theta", 0, GAMSGlobals.VarType.FREE, "Future profit function variable");
77 new GAMSModifier[] { new GAMSModifier(cutconst), new GAMSModifier(cutcoeff), new GAMSModifier(theta,GAMSGlobals.UpdateAction.FIXED,thetaFix) }
83 GAMSParameter received = subi.SyncDB().addParameter("received", 1, "units received from master");
91 double lowerbound = Double.NEGATIVE_INFINITY, upperbound = Double.POSITIVE_INFINITY, objmaster = Double.POSITIVE_INFINITY;
103 System.out.println(" Master " + masteri.getModelStatus() + " : obj=" + masteri.SyncDB().getVariable("zmaster").getFirstRecord().getLevel());
106 objmaster = masteri.SyncDB().getVariable("zmaster").getFirstRecord().getLevel() - theta.getFirstRecord().getLevel();
120 demand.addRecord(j.getKeys()).setValue( scenarioData.findRecord(new String[] {s.getKey(0), j.getKey(0)}).getValue() );
124 System.out.println(" Sub " + subi.getModelStatus() + " : obj=" + subi.SyncDB().getVariable("zsub").getFirstRecord().getLevel());
130 double newValue = record.getValue() + probability * subi.SyncDB().getEquation("market").findRecord(j.getKeys()).getMarginal() * demand.findRecord(j.getKeys()).getValue();
133 newValue = record.getValue() + probability * subi.SyncDB().getEquation("selling").findRecord(j.getKeys()).getMarginal();
GAMSEquation getEquation(String identifier)
GAMSGlobals.ModelStat getModelStatus()
T getFirstRecord()
String getName()
GAMSParameter getParameter(String identifier)
void dispose()
void defines(String defStr, String asStr)
void setSystemDirectory(String directory)
void solve()
GAMSOptions addOptions()
This example demonstrates a sequential implementation of a simple Benders decomposition method for a ...
Definition: Benders2Stage.java:35
GAMSParameter addParameter(String identifier, int dimension)
GAMSVariable addVariable(String identifier, int dimension, GAMSGlobals.VarType varType)
void setValue(double value)
GAMSSet getSet(String identifier)
boolean clear()
void run()
GAMSJob addJobFromString(String source)
void instantiate(String modelDefinition, GAMSModifier ... modifiers)
GAMSCheckpoint addCheckpoint()
GAMSModelInstance addModelInstance()
void setWorkingDirectory(String directory)
GAMSDatabase OutDB()
GAMSVariable getVariable(String identifier)
double getValue()
void dispose()
T addRecord(Vector< String > keys)
T findRecord(String ... keys)
GAMSDatabase SyncDB()
void setAllModelTypes(String value)