Ok, my last post for this Q perhaps: regarding: update 2, Stage 3, you can introduce a recourse variable, a random variable for each section to capture overbooking like:
S[s,c] - c >= O[c] where O[c] is overbooking for section c, c = [F,B,E], s=scenarios & S[s,c] is ticket sales for scenario s. Similar to Oscar's.
Or
Remove this constraint in stage 2: S[s,c] <= c, since the assumption of bookings limited to seat capacity will no longer exit, add Constraint
S[s,c] >= c and so for Stage 3:
Overbooking = S[s,c]-c
With no-show into account, add a Penalty like:
P[c](0.5S[s,c] - c), where P[c] is penalty for section c. Penalty for airline will be for ticket holders who are still in excess of capacity for each section even after no-shows. Also there's no assumption of excess passengers being upgraded.
Also, since its Stage 3 depending upon Stage 2 Joint probability for 50% onno-show for Scenario 1 is: 0.33*0.5
So Total Penalty =
Sum of (0.33)(0.5)P[c](0.5S[s,c]-c) for all s & c
Objective = Total Ticket Price - Total Penalty