Internal reference

Scenario tree

RandomizedProgressiveHedging.STreeNodeType
STreeNode

Node object of the ScenarioTree. Reference its father node id and its childs ids, along with the set of scenarios equivalent up to the depth (or stage) of the node.

source

Progressive hedging

RandomizedProgressiveHedging.ph_initialization!Function
ph_initialization!(x, u, y, pb, μ, subpbparams, printlev)

Compute a first global feasible point by solving each scenario independently and projecting the global strategy obtained onto the non-anticipatory subspace.

source

Synchronous

Synchronous parallel

RandomizedProgressiveHedging.randpar_remote_funcFunction
randpar_remote_func(inwork::RemoteChannel, outres::RemoteChannel)

Solve and return the solution of the subproblem 'prox(fs/μ) (v_scen)' where 'fs' is the cost function associated with the scenario `idscen`.

source
RandomizedProgressiveHedging.randpar_initialization!Function
randpar_initialization!(z, pb, μ, subpbparams, printlev, work_channel, results_channel)

Compute a first global feasible point by solving each scenario independently and projecting the global strategy obtained onto the non-anticipatory subspace. Independent solves are distributed on available workers.

source

Asynchronous

RandomizedProgressiveHedging.randasync_remote_funcFunction
randasync_remote_func(inwork::RemoteChannel, outres::RemoteChannel, paramschan::RemoteChannel)

Solve and return the solution of the subproblem 'prox(fs/μ) (v_scen)' where 'fs' is the cost function associated with the scenario `idscen`.

source
RandomizedProgressiveHedging.randasync_initialization!Function
randasync_initialization!(z, pb, μ, subpbparams, printlev, work_channel, results_channel)

Compute a first global feasible point by solving each scenario independently and projecting the global strategy obtained onto the non-anticipatory subspace. Independent solves are distributed on available workers.

source

Projections

RandomizedProgressiveHedging.get_averagedtraj!Function
get_averagedtraj!(averaged_traj::Vector{Float64}, pb::Problem, z::Matrix, id_scen::ScenarioId)

Compute inplace in averaged_traj the averaged trajectory defined by scenario id_scen over strategy z. Note: this function has been fairly optimized. Apply changes with caution.

source
RandomizedProgressiveHedging.nonanticipatory_projection!Function
nonanticipatory_projection!(x::Matrix{Float64}, pb::Problem, y::Matrix{Float64})

Store in x the projection of y on the non-anticipatory subspace associated to problem pb. Note: this function has been fairly optimized. Apply changes with caution.

source

Others

LinearAlgebra.dotFunction
dot(pb::Problem, x::Matrix{Float64}, y::Matrix{Float64})

Compute the weighted scalar product between strategies x and y.

source