DualDecomposition.DualDecompositionModule
DualDecomposition

This module implements a block model for dual Decomposition and Lagrangian dual method for solving the block model. Applications of the dual Decomposition include stochastic programming, temporal decomposition, and network decomposition.

DualDecomposition.AbstractBlockModelType
BlockModel

Block model struture contrains a set of JuMP.Model objects, each of which represents a sub-block model with the information of how to couple these block models.

DualDecomposition.BundleMasterType
BundleMaster

Bundle method implementation of Lagrangian master method. This simply uses BundleMethod.jl package.

Arguments

  • constructor: struct for bundle method
  • optimizer: optimization solver for bundle master
  • inner: bundle method object
DualDecomposition.CouplingVariableKeyType
CouplingVariableKey

Key to map oupling variables. block_id identifies the problem block containing the variable, and coupling_id identifies a set of variables whose values are equal.

DualDecomposition.add_constraints!Method
add_constraints!

This function is to add any constraints to the master problem.

Arguments

  • LD: Lagrangian dual
  • method: Lagrangian master
DualDecomposition.get_timesMethod
get_times

This returns the solution times of Lagrangian master for all iterations.

Arguments

  • method: Lagrangian master
DualDecomposition.load!Method
load!

This function loads the Lagrangian dual problem to the master.

Arguments

  • method: Lagrangian master method
  • num_coupling_variables: number of coupling variables
  • num_blocks: number of blocks (or Lagrangian subproblems)
  • eval_function: function pointer to evalute Lagrangian dual functions
  • init_sol: initial solution of the Lagrangian master
DualDecomposition.run!Method
run!

This runs the Lagrangian master method.

Arguments

  • method: Lagrangian master
DualDecomposition.write_file!Method
write_file!

This function writes a vector to a file.

Arguments

  • v: vector to write
  • name: file name
  • dir: optional argument to give path to the file