Recourse Function:
is the first stage decision vector;
is the vector of the second stage variables.
is the number of scenarios of the recourse function.
Scenario values for random parameters in the second stage:
Value of Recourse function on scenario :
,
subject to
second stage constraints
box constraints on the second stage decision variables
Two-stage stochastic programming optimization problem (with Recourse Function):
subject to
first stage constraint
constraints on the first stage decision variables
.
Problem Statement in Run-File Environment:
minimize
linear(matrix_x_obj)
avg(recourse(matrix_xfirst_1, matrix_subproblem_1,matrix_of_scenarios_1))
Constraint: <= 500
linear(matrix_budget)
Box: >= 0
Note. String “Box: >= 0” defines lower bounds only for the first stage variables. Bounds for the second stage variables are in matrix_subproblem_1.
Matrices with data:
matrix_x_obj:
x1 |
x2 |
x3 |
150 |
230 |
260 |
matrix_xfirst_1:
x1 |
x2 |
x3 |
0 |
0 |
0 |
Note. Gray color highlights the elements of the matrix which are not used for calculations.
matrix_subproblem_1:
x1 |
x2 |
x3 |
y1 |
y2 |
w1 |
w2 |
w3 |
w4 |
lower_bounds |
upper_bounds |
0 |
0 |
0 |
238 |
210 |
-170 |
-150 |
-36 |
-10 |
0 |
0 |
2.5 |
0 |
0 |
1 |
0 |
-1 |
0 |
0 |
0 |
200 |
1e+20 |
0 |
3 |
0 |
0 |
1 |
0 |
-1 |
0 |
0 |
240 |
1e+20 |
0 |
0 |
-20 |
0 |
0 |
0 |
0 |
1 |
1 |
-1e+20 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1e+20 |
1e+20 |
1e+20 |
1e+20 |
6000 |
1e+20 |
0 |
0 |
Note. Gray color highlights the elements of matrix which are not used for calculations.
matrix_of_scenarios_1:
x1(2) |
x2(3) |
x3(4) |
scenario_probability |
3 |
3.6 |
-24 |
0.333333333333 |
2.5 |
3 |
-20 |
0.333333333333 |
2 |
2.4 |
-16 |
0.333333333333 |
matrix_budget:
x1 |
x2 |
x3 |
1 |
1 |
1 |
Solution report for described problem:
Problem: solution_status = optimal
Timing: Data_loading_time = 0.03, Preprocessing_time = 0.05, Solving_time = 0.00
Variables: optimal_point = point_problem_1
Objective: = -108390.000000000000
Constraint: = 5.000000000000e+002 [5.684341886081e-014]
Function: linear(matrix_x_obj) = 1.089000000000e+005
Function: avg(recourse(matrix_xfirst, matrix_subproblem,matrix_of_scenarios)) = -2.172900000000e+005
Function: linear(matrix_budget) = 5.000000000000e+002
Optimal point:
Component_name Value
x1 1.700000000000e+002
x2 8.000000000000e+001
x3 2.500000000000e+002