Last active
November 13, 2023 21:17
-
-
Save reinderien/b1e084a3ca657aea38a67ed0d8e23691 to your computer and use it in GitHub Desktop.
Probit and transforming z-scores (price optimization)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Based on https://stackoverflow.com/questions/77470565/probit-and-transforming-z-scores-in-gurobi-price-optimization | |
import numpy as np | |
import pulp | |
import pandas as pd | |
def make_distribution() -> tuple[ | |
np.ndarray, # z scores | |
pd.Series, # probabilities | |
]: | |
distribution = { | |
-3.0: 0.00134989803163, | |
-2.9: 0.00191172318706, | |
-2.8: 0.00255513033018, | |
-2.7: 0.00328943185389, | |
-2.6: 0.00411565636173, | |
-2.5: 0.00499750254617, | |
-2.4: 0.00589875012553, | |
-2.3: 0.00677566432527, | |
-2.2: 0.00758899513659, | |
-2.1: 0.00830839268624, | |
-2.0: 0.0227501319482, | |
-1.9: 0.01439744676436, | |
-1.8: 0.01694742458357, | |
-1.7: 0.01927575795789, | |
-1.6: 0.02138602513441, | |
-1.5: 0.02320922075231, | |
-1.4: 0.02468234407296, | |
-1.3: 0.02574798628676, | |
-1.2: 0.02635515681939, | |
-1.1: 0.02648322768712, | |
-1.0: 0.158655253931, | |
-0.9: 0.13566606094638, | |
-0.8: 0.115069670221708, | |
-0.7: 0.09680048458561, | |
-0.6: 0.08075665923377, | |
-0.5: 0.0668072012689, | |
-0.4: 0.05479929169956, | |
-0.3: 0.04456546275861, | |
-0.2: 0.03593031911293, | |
-0.1: 0.02871655981669, | |
0.0: 0.5, | |
0.1: 0.97128344018331, | |
0.2: 0.96406968088707, | |
0.3: 0.95543453724139, | |
0.4: 0.94520070830044, | |
0.5: 0.933192798731, | |
0.6: 0.91924334076623, | |
0.7: 0.90319951541439, | |
0.8: 0.88493032977829, | |
0.9: 0.86433393905362, | |
1.0: 0.841344746069, | |
1.1: 0.81582322731288, | |
1.2: 0.78774581318061, | |
1.3: 0.75798570450511, | |
1.4: 0.72653065592704, | |
1.5: 0.69314716055995, | |
1.6: 0.65730019884867, | |
1.7: 0.61839905914769, | |
1.8: 0.57580633124096, | |
1.9: 0.52892412654495, | |
2.0: 0.47724986805182, | |
2.1: 0.42074060762631, | |
2.2: 0.35989164330376, | |
2.3: 0.29505515613991, | |
2.4: 0.22662735261643, | |
2.5: 0.15597429781556, | |
2.6: 0.08434363882874, | |
2.7: 0.01390377072986, | |
2.8: 0.00176703586613, | |
2.9: 0.00023288832156, | |
3.0: 0.00003167155677 | |
} | |
# Flat arrays of the keys and values from the dictionary. | |
zscore, prob_values = np.array(tuple(distribution.items())).T | |
zscore_index = pd.Index(name='zscore', data=zscore) | |
prob = pd.Series(name='prob', index=zscore_index, data=prob_values) | |
return zscore, prob | |
def make_inputs(zscore: np.ndarray, prob: pd.Series) -> tuple[ | |
pd.DataFrame, # demand_0 | |
pd.DataFrame, # select_zscore | |
pd.Series, # coef | |
]: | |
idx = pd.RangeIndex(name='id', start=1, stop=6) | |
demand_0 = pd.DataFrame( | |
data={ | |
'age': (0.805262, 0.775366, 1.313498, 0.919934, 0.904917), | |
'maritime': (True, False, False, True, False), | |
'express': (False, False, True, False, False), | |
'air': (False, True, False, False, True), | |
'percent_quotestage_1': ( | |
0.728624, 0.987425, 1.083067, 0.353984, 0.529083), | |
}, | |
index=idx, | |
) | |
# Select the zscore and its probability for every demand row based on a | |
# binary selection variable. By this method, the distribution can be | |
# arbitrary: non-linear and non-monotonic, so long as it's real. The | |
# resulting frame is an ndemand by nzscore-values matrix. | |
select_zscore = pd.DataFrame( | |
pulp.LpVariable.matrix(name='zsel', cat=pulp.LpBinary, indices=(idx, zscore)), | |
index=idx, columns=prob.index, | |
) | |
coef = pd.Series( | |
name='coef', index=(*demand_0.columns, 'price'), | |
data=(0.569396, -0.913858, -0.165595, 0.030166, 1.687747, -0.000523), | |
) | |
return demand_0, select_zscore, coef | |
def make_vars( | |
demand_0: pd.DataFrame, | |
zscore: np.ndarray, | |
prob: pd.Series, | |
select_zscore: pd.DataFrame, | |
coef: pd.Series, | |
) -> pd.DataFrame: | |
lp_vars = pd.DataFrame( | |
data={ | |
# In the zscore expression, the first five terms are merged to one constant | |
# per demand row. | |
'fixed_factors': (demand_0 @ coef[demand_0.columns]).astype(float), | |
# zscore is modelled as an affine expression calculated here as the matrix | |
# product of all zscore selection variables and the zscore values vector. | |
'zscore': select_zscore @ zscore, | |
# Probability is the matrix product of the zscore selection variables and | |
# the distribution probabilities. No zscore selection implies a zscore < | |
# -3.4 and a probability of 0. | |
'prob': select_zscore @ prob, | |
# To get a binary value indicating whether the demand row is assigned, sum | |
# all of its zscore selection variables. | |
'assign': select_zscore.apply(pulp.lpSum, axis=1), | |
# Expected price is a free variable, later constrained based on assignment. | |
'expected_price': pulp.LpVariable.matrix( | |
name='expected_price', cat=pulp.LpContinuous, indices=demand_0.index, | |
), | |
}, | |
index=demand_0.index, | |
) | |
# The last term of zscore is based on a decision variable. To extract an | |
# expression for the price, we calculate: | |
# zscore = coef[:-1]@demand_0 + coef[-1]*price | |
# price = (zscore - coef[:-1]@demand_0)/coef[-1] | |
lp_vars['price'] = ( | |
lp_vars['zscore'] - lp_vars['fixed_factors'] | |
) / coef['price'] | |
return lp_vars | |
def bound_expected_price( | |
lp_vars: pd.DataFrame, | |
zscore: np.ndarray, | |
prob: pd.Series, | |
coef: pd.Series, | |
) -> pd.DataFrame: | |
""" | |
expected price <= price * prob | |
but price and prob are all affine expressions based on the zscore selection | |
decision variable. | |
price = (zsel@zscore - demand0@coef)/coef_price | |
eprice <= (zsel@zscore - demand0@coef)/coef_price * zsel@prob | |
<= zsel@( (zscore - demand0@coef)/coef_price * prob) | |
<= zsel@expected_price_bound | |
expected_price_bound is an ndemands x nzscores constant matrix of bounds | |
that, when selected, are the upper bound for the expected price. | |
""" | |
return pd.DataFrame( | |
data=( | |
zscore - lp_vars['fixed_factors'].values[:, np.newaxis] | |
) / coef['price'] * prob.values, | |
index=lp_vars.index, columns=zscore, | |
) | |
def make_problem(expected_price: pd.Series) -> pulp.LpProblem: | |
m = pulp.LpProblem(name='Optimize_Logistics_Prices', sense=pulp.LpMaximize) | |
m.objective = expected_price.sum() | |
return m | |
def add_constraints( | |
m: pulp.LpProblem, | |
lp_vars: pd.DataFrame, | |
select_zscore: pd.DataFrame, | |
expected_price_bound: pd.DataFrame, | |
cost: float = 117.00, | |
M: float = 10e6, | |
) -> None: | |
for demand_id, row in lp_vars.iterrows(): | |
# The lower price constraint is only enforced if the demand row is | |
# assigned | |
m.addConstraint( | |
name=f'price_{demand_id}', | |
constraint=row['price'] >= cost - M*(1 - row['assign']), | |
) | |
# If the demand row is assigned, there is an upper bound on the | |
# expected_price of price * prob. | |
# If the demand row is not assigned, there is an upper bound of 0. | |
# No lower bound needs to be set because the expected price is a | |
# maximization objective. | |
m.addConstraint( | |
name=f'expprice_{demand_id}', | |
constraint=row['expected_price'] <= pulp.lpDot( | |
select_zscore.loc[demand_id, :], | |
expected_price_bound.loc[demand_id, :], | |
), | |
) | |
for i, row in select_zscore.iterrows(): | |
# There must be at most one zscore selected per demand row. | |
m.addConstraint( | |
name=f'excl_{i}', | |
constraint=pulp.lpSum(row) <= 1, | |
) | |
def solve(m: pulp.LpProblem, lp_vars: pd.DataFrame) -> None: | |
m.solve() | |
if m.status != pulp.LpStatusOptimal: | |
raise ValueError(m.status) | |
affine_cols = ['price', 'zscore', 'prob', 'assign'] | |
lp_vars[affine_cols] = lp_vars[affine_cols].map(pulp.LpAffineExpression.value) | |
lp_vars['expected_price'] = lp_vars['expected_price'].apply(pulp.LpVariable.value) | |
def main() -> None: | |
zscore, prob = make_distribution() | |
demand_0, select_zscore, coef = make_inputs(zscore, prob) | |
lp_vars = make_vars(demand_0, zscore, prob, select_zscore, coef) | |
expected_price = bound_expected_price(lp_vars, zscore, prob, coef) | |
m = make_problem(lp_vars['expected_price']) | |
add_constraints(m, lp_vars, select_zscore, expected_price, M=100e3, cost=6_500) | |
print(m) | |
solve(m, lp_vars) | |
pd.options.display.max_columns = None | |
pd.options.display.width = 200 | |
print(lp_vars) | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Optimize_Logistics_Prices: | |
MAXIMIZE | |
1*expected_price_1 + 1*expected_price_2 + 1*expected_price_3 + 1*expected_price_4 + 1*expected_price_5 + 0 | |
SUBJECT TO | |
price_1: - 100000 zsel_1_0.0 - 100191.204589 zsel_1_0.1 | |
- 100382.409178 zsel_1_0.2 - 100573.613767 zsel_1_0.3 | |
- 100764.818356 zsel_1_0.4 - 100956.022945 zsel_1_0.5 | |
- 101147.227533 zsel_1_0.6 - 101338.432122 zsel_1_0.7 | |
- 101529.636711 zsel_1_0.8 - 101720.8413 zsel_1_0.9 | |
- 101912.045889 zsel_1_1.0 - 102103.250478 zsel_1_1.1 | |
- 102294.455067 zsel_1_1.2 - 102485.659656 zsel_1_1.3 | |
- 102676.864245 zsel_1_1.4 - 102868.068834 zsel_1_1.5 | |
- 103059.273423 zsel_1_1.6 - 103250.478011 zsel_1_1.7 | |
- 103441.6826 zsel_1_1.8 - 103632.887189 zsel_1_1.9 | |
- 103824.091778 zsel_1_2.0 - 104015.296367 zsel_1_2.1 | |
- 104206.500956 zsel_1_2.2 - 104397.705545 zsel_1_2.3 | |
- 104588.910134 zsel_1_2.4 - 104780.114723 zsel_1_2.5 | |
- 104971.319312 zsel_1_2.6 - 105162.523901 zsel_1_2.7 | |
- 105353.728489 zsel_1_2.8 - 105544.933078 zsel_1_2.9 | |
- 105736.137667 zsel_1_3.0 - 99808.7954111 zsel_1__0.1 | |
- 99617.5908222 zsel_1__0.2 - 99426.3862333 zsel_1__0.3 | |
- 99235.1816444 zsel_1__0.4 - 99043.9770554 zsel_1__0.5 | |
- 98852.7724665 zsel_1__0.6 - 98661.5678776 zsel_1__0.7 | |
- 98470.3632887 zsel_1__0.8 - 98279.1586998 zsel_1__0.9 | |
- 98087.9541109 zsel_1__1.0 - 97896.749522 zsel_1__1.1 | |
- 97705.5449331 zsel_1__1.2 - 97514.3403442 zsel_1__1.3 | |
- 97323.1357553 zsel_1__1.4 - 97131.9311663 zsel_1__1.5 | |
- 96940.7265774 zsel_1__1.6 - 96749.5219885 zsel_1__1.7 | |
- 96558.3173996 zsel_1__1.8 - 96367.1128107 zsel_1__1.9 | |
- 96175.9082218 zsel_1__2.0 - 95984.7036329 zsel_1__2.1 | |
- 95793.499044 zsel_1__2.2 - 95602.2944551 zsel_1__2.3 | |
- 95411.0898662 zsel_1__2.4 - 95219.8852772 zsel_1__2.5 | |
- 95028.6806883 zsel_1__2.6 - 94837.4760994 zsel_1__2.7 | |
- 94646.2715105 zsel_1__2.8 - 94455.0669216 zsel_1__2.9 | |
- 94263.8623327 zsel_1__3.0 >= -94980.6652617 | |
expprice_1: expected_price_1 - 740.33263086 zsel_1_0.0 | |
- 1252.43179827 zsel_1_0.1 - 1058.79539234 zsel_1_0.2 | |
- 866.62832537 zsel_1_0.3 - 676.619002662 zsel_1_0.4 | |
- 489.592432293 zsel_1_0.5 - 306.510411263 zsel_1_0.6 | |
- 128.464902537 zsel_1_0.7 + 43.3363210091 zsel_1_0.8 | |
+ 207.592301397 zsel_1_0.9 + 362.939824403 zsel_1_1.0 | |
+ 507.919480432 zsel_1_1.1 + 641.059511856 zsel_1_1.2 | |
+ 761.771383844 zsel_1_1.3 + 869.075231754 zsel_1_1.4 | |
+ 961.674846435 zsel_1_1.5 + 1037.61945803 zsel_1_1.6 | |
+ 1094.45053931 zsel_1_1.7 + 1129.16619927 zsel_1_1.8 | |
+ 1138.36210317 zsel_1_1.9 + 1118.39999578 zsel_1_2.0 | |
+ 1066.42223139 zsel_1_2.1 + 981.005487398 zsel_1_2.2 | |
+ 860.68777623 zsel_1_2.3 + 704.413306653 zsel_1_2.4 | |
+ 514.629312862 zsel_1_2.5 + 294.414464464 zsel_1_2.6 | |
+ 51.1917183744 zsel_1_2.7 + 6.84384163525 zsel_1_2.8 | |
+ 0.946520510195 zsel_1_2.9 + 0.134777435877 zsel_1_3.0 | |
- 48.0103505714 zsel_1__0.1 - 66.9408591439 zsel_1__0.2 | |
- 91.5498955382 zsel_1__0.3 - 123.050911754 zsel_1__0.4 | |
- 162.788319426 zsel_1__0.5 - 212.219842963 zsel_1__0.6 | |
- 272.889992874 zsel_1__0.7 - 346.394455301 zsel_1__0.8 | |
- 434.335784349 zsel_1__0.9 - 538.271449148 zsel_1__1.0 | |
- 94.9136565468 zsel_1__1.1 - 99.4938882734 zsel_1__1.2 | |
- 102.124879586 zsel_1__1.3 - 102.617573772 zsel_1__1.4 | |
- 100.930729613 zsel_1__1.5 - 97.0912428108 zsel_1__1.6 | |
- 91.1963725982 zsel_1__1.7 - 83.4211191671 zsel_1__1.8 | |
- 73.6220991902 zsel_1__1.9 - 120.683922611 zsel_1__2.0 | |
- 45.6626074009 zsel_1__2.1 - 43.1598767674 zsel_1__2.2 | |
- 39.8298673654 zsel_1__2.3 - 35.8029086265 zsel_1__2.4 | |
- 31.2882639134 zsel_1__2.5 - 26.5541513552 zsel_1__2.6 | |
- 21.8523180419 zsel_1__2.7 - 17.4627667621 zsel_1__2.8 | |
- 13.4309992498 zsel_1__2.9 - 9.74194806855 zsel_1__3.0 <= 0 | |
price_2: - 100000 zsel_2_0.0 - 100191.204589 zsel_2_0.1 | |
- 100382.409178 zsel_2_0.2 - 100573.613767 zsel_2_0.3 | |
- 100764.818356 zsel_2_0.4 - 100956.022945 zsel_2_0.5 | |
- 101147.227533 zsel_2_0.6 - 101338.432122 zsel_2_0.7 | |
- 101529.636711 zsel_2_0.8 - 101720.8413 zsel_2_0.9 | |
- 101912.045889 zsel_2_1.0 - 102103.250478 zsel_2_1.1 | |
- 102294.455067 zsel_2_1.2 - 102485.659656 zsel_2_1.3 | |
- 102676.864245 zsel_2_1.4 - 102868.068834 zsel_2_1.5 | |
- 103059.273423 zsel_2_1.6 - 103250.478011 zsel_2_1.7 | |
- 103441.6826 zsel_2_1.8 - 103632.887189 zsel_2_1.9 | |
- 103824.091778 zsel_2_2.0 - 104015.296367 zsel_2_2.1 | |
- 104206.500956 zsel_2_2.2 - 104397.705545 zsel_2_2.3 | |
- 104588.910134 zsel_2_2.4 - 104780.114723 zsel_2_2.5 | |
- 104971.319312 zsel_2_2.6 - 105162.523901 zsel_2_2.7 | |
- 105353.728489 zsel_2_2.8 - 105544.933078 zsel_2_2.9 | |
- 105736.137667 zsel_2_3.0 - 99808.7954111 zsel_2__0.1 | |
- 99617.5908222 zsel_2__0.2 - 99426.3862333 zsel_2__0.3 | |
- 99235.1816444 zsel_2__0.4 - 99043.9770554 zsel_2__0.5 | |
- 98852.7724665 zsel_2__0.6 - 98661.5678776 zsel_2__0.7 | |
- 98470.3632887 zsel_2__0.8 - 98279.1586998 zsel_2__0.9 | |
- 98087.9541109 zsel_2__1.0 - 97896.749522 zsel_2__1.1 | |
- 97705.5449331 zsel_2__1.2 - 97514.3403442 zsel_2__1.3 | |
- 97323.1357553 zsel_2__1.4 - 97131.9311663 zsel_2__1.5 | |
- 96940.7265774 zsel_2__1.6 - 96749.5219885 zsel_2__1.7 | |
- 96558.3173996 zsel_2__1.8 - 96367.1128107 zsel_2__1.9 | |
- 96175.9082218 zsel_2__2.0 - 95984.7036329 zsel_2__2.1 | |
- 95793.499044 zsel_2__2.2 - 95602.2944551 zsel_2__2.3 | |
- 95411.0898662 zsel_2__2.4 - 95219.8852772 zsel_2__2.5 | |
- 95028.6806883 zsel_2__2.6 - 94837.4760994 zsel_2__2.7 | |
- 94646.2715105 zsel_2__2.8 - 94455.0669216 zsel_2__2.9 | |
- 94263.8623327 zsel_2__3.0 >= -97588.2980505 | |
expprice_2: expected_price_2 - 2044.14902525 zsel_2_0.0 | |
- 3785.18234409 zsel_2_0.1 - 3572.73510289 zsel_2_0.2 | |
- 3358.05075221 zsel_2_0.3 - 3141.3553616 zsel_2_0.4 | |
- 2923.01657252 zsel_2_0.5 - 2703.55948751 zsel_2_0.6 | |
- 2483.67757374 zsel_2_0.7 - 2264.23702271 zsel_2_0.8 | |
- 2046.27321853 zsel_2_0.9 - 1830.97832211 zsel_2_1.0 | |
- 1619.44791696 zsel_2_1.1 - 1413.09229982 zsel_2_1.2 | |
- 1214.77699265 zsel_2_1.3 - 1025.44992869 zsel_2_1.4 | |
- 845.79841689 zsel_2_1.5 - 676.378092563 zsel_2_1.6 | |
- 518.107123869 zsel_2_1.7 - 372.325270055 zsel_2_1.8 | |
- 240.877791983 zsel_2_1.9 - 126.092408592 zsel_2_2.0 | |
- 30.7147726257 zsel_2_2.1 + 42.5402379123 zsel_2_2.2 | |
+ 91.2922765811 zsel_2_2.3 + 113.452391136 zsel_2_2.4 | |
+ 107.905619672 zsel_2_2.5 + 74.4772263298 zsel_2_2.6 | |
+ 14.9357899315 zsel_2_2.7 + 2.23606097178 zsel_2_2.8 | |
+ 0.339233286772 zsel_2_2.9 + 0.0521896459715 zsel_2_3.0 | |
- 122.89259353 zsel_2__0.1 - 160.633937374 zsel_2__0.2 | |
- 207.760257475 zsel_2__0.3 - 265.947341592 zsel_2__0.4 | |
- 336.996967981 zsel_2__0.5 - 422.803555494 zsel_2__0.6 | |
- 525.310110449 zsel_2__0.7 - 646.453900365 zsel_2__0.8 | |
- 788.103053197 zsel_2__0.9 - 951.986091411 zsel_2__1.0 | |
- 163.972189416 zsel_2__1.1 - 168.218459349 zsel_2__1.2 | |
- 169.266172872 zsel_2__1.3 - 166.980063481 zsel_2__1.4 | |
- 161.451854648 zsel_2__1.5 - 152.858143173 zsel_2__1.6 | |
- 141.460471078 zsel_2__1.7 - 127.613779197 zsel_2__1.8 | |
- 111.165353448 zsel_2__1.9 - 180.007912629 zsel_2__2.0 | |
- 67.3278445915 zsel_2__2.1 - 62.9491893195 zsel_2__2.2 | |
- 57.4983118257 zsel_2__2.3 - 51.1846828666 zsel_2__2.4 | |
- 44.3199154148 zsel_2__2.5 - 37.2862718314 zsel_2__2.6 | |
- 30.4299484005 zsel_2__2.7 - 24.1256083907 zsel_2__2.8 | |
- 18.4160713154 zsel_2__2.9 - 13.2619864373 zsel_2__3.0 <= 0 | |
price_3: - 100000 zsel_3_0.0 - 100191.204589 zsel_3_0.1 | |
- 100382.409178 zsel_3_0.2 - 100573.613767 zsel_3_0.3 | |
- 100764.818356 zsel_3_0.4 - 100956.022945 zsel_3_0.5 | |
- 101147.227533 zsel_3_0.6 - 101338.432122 zsel_3_0.7 | |
- 101529.636711 zsel_3_0.8 - 101720.8413 zsel_3_0.9 | |
- 101912.045889 zsel_3_1.0 - 102103.250478 zsel_3_1.1 | |
- 102294.455067 zsel_3_1.2 - 102485.659656 zsel_3_1.3 | |
- 102676.864245 zsel_3_1.4 - 102868.068834 zsel_3_1.5 | |
- 103059.273423 zsel_3_1.6 - 103250.478011 zsel_3_1.7 | |
- 103441.6826 zsel_3_1.8 - 103632.887189 zsel_3_1.9 | |
- 103824.091778 zsel_3_2.0 - 104015.296367 zsel_3_2.1 | |
- 104206.500956 zsel_3_2.2 - 104397.705545 zsel_3_2.3 | |
- 104588.910134 zsel_3_2.4 - 104780.114723 zsel_3_2.5 | |
- 104971.319312 zsel_3_2.6 - 105162.523901 zsel_3_2.7 | |
- 105353.728489 zsel_3_2.8 - 105544.933078 zsel_3_2.9 | |
- 105736.137667 zsel_3_3.0 - 99808.7954111 zsel_3__0.1 | |
- 99617.5908222 zsel_3__0.2 - 99426.3862333 zsel_3__0.3 | |
- 99235.1816444 zsel_3__0.4 - 99043.9770554 zsel_3__0.5 | |
- 98852.7724665 zsel_3__0.6 - 98661.5678776 zsel_3__0.7 | |
- 98470.3632887 zsel_3__0.8 - 98279.1586998 zsel_3__0.9 | |
- 98087.9541109 zsel_3__1.0 - 97896.749522 zsel_3__1.1 | |
- 97705.5449331 zsel_3__1.2 - 97514.3403442 zsel_3__1.3 | |
- 97323.1357553 zsel_3__1.4 - 97131.9311663 zsel_3__1.5 | |
- 96940.7265774 zsel_3__1.6 - 96749.5219885 zsel_3__1.7 | |
- 96558.3173996 zsel_3__1.8 - 96367.1128107 zsel_3__1.9 | |
- 96175.9082218 zsel_3__2.0 - 95984.7036329 zsel_3__2.1 | |
- 95793.499044 zsel_3__2.2 - 95602.2944551 zsel_3__2.3 | |
- 95411.0898662 zsel_3__2.4 - 95219.8852772 zsel_3__2.5 | |
- 95028.6806883 zsel_3__2.6 - 94837.4760994 zsel_3__2.7 | |
- 94646.2715105 zsel_3__2.8 - 94455.0669216 zsel_3__2.9 | |
- 94263.8623327 zsel_3__3.0 >= -98108.505903 | |
expprice_3: expected_price_3 - 2304.25295149 zsel_3_0.0 | |
- 4290.45161665 zsel_3_0.1 - 4074.25172122 zsel_3_0.2 | |
- 3855.07530101 zsel_3_0.3 - 3633.05619223 zsel_3_0.4 | |
- 3408.47079429 zsel_3_0.5 - 3181.75709172 zsel_3_0.6 | |
- 2953.52905401 zsel_3_0.7 - 2724.58472915 zsel_3_0.8 | |
- 2495.90652079 zsel_3_0.9 - 2268.65246566 zsel_3_1.0 | |
- 2043.84556604 zsel_3_1.1 - 1822.88385759 zsel_3_1.2 | |
- 1609.0871082 zsel_3_1.3 - 1403.39688097 zsel_3_1.4 | |
- 1206.37901274 zsel_3_1.5 - 1018.31081744 zsel_3_1.6 | |
- 839.803170403 zsel_3_1.7 - 671.864245073 zsel_3_1.8 | |
- 516.028275976 zsel_3_1.9 - 374.361537547 zsel_3_2.0 | |
- 249.587340569 zsel_3_2.1 - 144.678220976 zsel_3_2.2 | |
- 62.197732557 zsel_3_2.3 - 4.44093728129 zsel_3_2.4 | |
+ 26.7665651636 zsel_3_2.5 + 30.6010031045 zsel_3_2.6 | |
+ 7.7029392188 zsel_3_2.7 + 1.31683503861 zsel_3_2.8 | |
+ 0.218082953146 zsel_3_2.9 + 0.0357138534395 zsel_3_3.0 | |
- 137.831173443 zsel_3__0.1 - 179.325171519 zsel_3__0.2 | |
- 230.943561151 zsel_3__0.3 - 294.454363444 zsel_3__0.4 | |
- 371.750598683 zsel_3__0.5 - 464.813803767 zsel_3__0.6 | |
- 575.666482654 zsel_3__0.7 - 706.314046396 zsel_3__0.8 | |
- 858.677603416 zsel_3__0.9 - 1034.51980034 zsel_3__1.0 | |
- 177.748972418 zsel_3__1.1 - 181.92861888 zsel_3__1.2 | |
- 182.660477524 zsel_3__1.3 - 179.820012685 zsel_3__1.4 | |
- 173.525473534 zsel_3__1.5 - 163.983321381 zsel_3__1.6 | |
- 151.48787173 zsel_3__1.7 - 136.429962544 zsel_3__1.8 | |
- 118.65501831 zsel_3__1.9 - 191.842709913 zsel_3__2.0 | |
- 71.6499357084 zsel_3__2.1 - 66.897044182 zsel_3__2.2 | |
- 61.0230656134 zsel_3__2.3 - 54.2532590017 zsel_3__2.4 | |
- 46.9196554821 zsel_3__2.5 - 39.4272685889 zsel_3__2.6 | |
- 32.1411366811 zsel_3__2.7 - 25.4548072525 zsel_3__2.8 | |
- 19.4105647291 zsel_3__2.9 - 13.9642139934 zsel_3__3.0 <= 0 | |
price_4: - 100000 zsel_4_0.0 - 100191.204589 zsel_4_0.1 | |
- 100382.409178 zsel_4_0.2 - 100573.613767 zsel_4_0.3 | |
- 100764.818356 zsel_4_0.4 - 100956.022945 zsel_4_0.5 | |
- 101147.227533 zsel_4_0.6 - 101338.432122 zsel_4_0.7 | |
- 101529.636711 zsel_4_0.8 - 101720.8413 zsel_4_0.9 | |
- 101912.045889 zsel_4_1.0 - 102103.250478 zsel_4_1.1 | |
- 102294.455067 zsel_4_1.2 - 102485.659656 zsel_4_1.3 | |
- 102676.864245 zsel_4_1.4 - 102868.068834 zsel_4_1.5 | |
- 103059.273423 zsel_4_1.6 - 103250.478011 zsel_4_1.7 | |
- 103441.6826 zsel_4_1.8 - 103632.887189 zsel_4_1.9 | |
- 103824.091778 zsel_4_2.0 - 104015.296367 zsel_4_2.1 | |
- 104206.500956 zsel_4_2.2 - 104397.705545 zsel_4_2.3 | |
- 104588.910134 zsel_4_2.4 - 104780.114723 zsel_4_2.5 | |
- 104971.319312 zsel_4_2.6 - 105162.523901 zsel_4_2.7 | |
- 105353.728489 zsel_4_2.8 - 105544.933078 zsel_4_2.9 | |
- 105736.137667 zsel_4_3.0 - 99808.7954111 zsel_4__0.1 | |
- 99617.5908222 zsel_4__0.2 - 99426.3862333 zsel_4__0.3 | |
- 99235.1816444 zsel_4__0.4 - 99043.9770554 zsel_4__0.5 | |
- 98852.7724665 zsel_4__0.6 - 98661.5678776 zsel_4__0.7 | |
- 98470.3632887 zsel_4__0.8 - 98279.1586998 zsel_4__0.9 | |
- 98087.9541109 zsel_4__1.0 - 97896.749522 zsel_4__1.1 | |
- 97705.5449331 zsel_4__1.2 - 97514.3403442 zsel_4__1.3 | |
- 97323.1357553 zsel_4__1.4 - 97131.9311663 zsel_4__1.5 | |
- 96940.7265774 zsel_4__1.6 - 96749.5219885 zsel_4__1.7 | |
- 96558.3173996 zsel_4__1.8 - 96367.1128107 zsel_4__1.9 | |
- 96175.9082218 zsel_4__2.0 - 95984.7036329 zsel_4__2.1 | |
- 95793.499044 zsel_4__2.2 - 95602.2944551 zsel_4__2.3 | |
- 95411.0898662 zsel_4__2.4 - 95219.8852772 zsel_4__2.5 | |
- 95028.6806883 zsel_4__2.6 - 94837.4760994 zsel_4__2.7 | |
- 94646.2715105 zsel_4__2.8 - 94455.0669216 zsel_4__2.9 | |
- 94263.8623327 zsel_4__3.0 >= -93896.5280572 | |
expprice_4: expected_price_4 - 198.264028597 zsel_4_0.0 | |
- 199.427284624 zsel_4_0.1 - 13.6115835315 zsel_4_0.2 | |
+ 169.193802944 zsel_4_0.3 + 348.108250953 zsel_4_0.4 | |
+ 522.116599809 zsel_4_0.5 + 690.075494476 zsel_4_0.6 | |
+ 850.727295235 zsel_4_0.7 + 1002.72221494 zsel_4_0.8 | |
+ 1144.64888186 zsel_4_0.9 + 1275.07296545 zsel_4_1.0 | |
+ 1392.38379348 zsel_4_1.1 + 1495.08405564 zsel_4_1.2 | |
+ 1583.5318866 zsel_4_1.3 + 1656.73414607 zsel_4_1.4 | |
+ 1713.14147141 zsel_4_1.5 + 1750.22305814 zsel_4_1.6 | |
+ 1764.87996658 zsel_4_1.7 + 1753.41926558 zsel_4_1.8 | |
+ 1711.78842713 zsel_4_1.9 + 1635.80433359 zsel_4_2.0 | |
+ 1522.56277757 zsel_4_2.1 + 1371.1774075 zsel_4_2.2 | |
+ 1180.56804839 zsel_4_2.3 + 950.108451188 zsel_4_2.4 | |
+ 683.726852074 zsel_4_2.5 + 385.854541284 zsel_4_2.6 | |
+ 66.2653135058 zsel_4_2.7 + 8.75955095945 zsel_4_2.8 | |
+ 1.1990034041 zsel_4_2.9 + 0.169113748896 zsel_4_3.0 | |
- 16.877659688 zsel_4__0.1 - 27.987463423 zsel_4__0.2 | |
- 43.2348193246 zsel_4__0.3 - 63.6409608411 zsel_4__0.4 | |
- 90.3601469999 zsel_4__0.5 - 124.668544175 zsel_4__0.6 | |
- 167.944986119 zsel_4__0.7 - 221.643144701 zsel_4__0.8 | |
- 287.255160285 zsel_4__0.9 - 366.267385668 zsel_4__1.0 | |
- 66.2022041152 zsel_4__1.1 - 70.9212822344 zsel_4__1.2 | |
- 74.2105297108 zsel_4__1.3 - 75.8585262675 zsel_4__1.4 | |
- 75.7687499069 zsel_4__1.5 - 73.9058573056 zsel_4__1.6 | |
- 70.2988062506 zsel_4__1.7 - 65.0477856551 zsel_4__1.8 | |
- 58.0132915028 zsel_4__1.9 - 96.0196581584 zsel_4__2.0 | |
- 36.6551697799 zsel_4__2.1 - 34.9323647949 zsel_4__2.2 | |
- 32.4841175849 zsel_4__2.3 - 29.4078541552 zsel_4__2.4 | |
- 25.8702854734 zsel_4__2.5 - 22.0922151724 zsel_4__2.6 | |
- 18.2861225873 zsel_4__2.7 - 14.6926549087 zsel_4__2.8 | |
- 11.3584290179 zsel_4__2.9 - 8.27847339014 zsel_4__3.0 <= 0 | |
price_5: - 100000 zsel_5_0.0 - 100191.204589 zsel_5_0.1 | |
- 100382.409178 zsel_5_0.2 - 100573.613767 zsel_5_0.3 | |
- 100764.818356 zsel_5_0.4 - 100956.022945 zsel_5_0.5 | |
- 101147.227533 zsel_5_0.6 - 101338.432122 zsel_5_0.7 | |
- 101529.636711 zsel_5_0.8 - 101720.8413 zsel_5_0.9 | |
- 101912.045889 zsel_5_1.0 - 102103.250478 zsel_5_1.1 | |
- 102294.455067 zsel_5_1.2 - 102485.659656 zsel_5_1.3 | |
- 102676.864245 zsel_5_1.4 - 102868.068834 zsel_5_1.5 | |
- 103059.273423 zsel_5_1.6 - 103250.478011 zsel_5_1.7 | |
- 103441.6826 zsel_5_1.8 - 103632.887189 zsel_5_1.9 | |
- 103824.091778 zsel_5_2.0 - 104015.296367 zsel_5_2.1 | |
- 104206.500956 zsel_5_2.2 - 104397.705545 zsel_5_2.3 | |
- 104588.910134 zsel_5_2.4 - 104780.114723 zsel_5_2.5 | |
- 104971.319312 zsel_5_2.6 - 105162.523901 zsel_5_2.7 | |
- 105353.728489 zsel_5_2.8 - 105544.933078 zsel_5_2.9 | |
- 105736.137667 zsel_5_3.0 - 99808.7954111 zsel_5__0.1 | |
- 99617.5908222 zsel_5__0.2 - 99426.3862333 zsel_5__0.3 | |
- 99235.1816444 zsel_5__0.4 - 99043.9770554 zsel_5__0.5 | |
- 98852.7724665 zsel_5__0.6 - 98661.5678776 zsel_5__0.7 | |
- 98470.3632887 zsel_5__0.8 - 98279.1586998 zsel_5__0.9 | |
- 98087.9541109 zsel_5__1.0 - 97896.749522 zsel_5__1.1 | |
- 97705.5449331 zsel_5__1.2 - 97514.3403442 zsel_5__1.3 | |
- 97323.1357553 zsel_5__1.4 - 97131.9311663 zsel_5__1.5 | |
- 96940.7265774 zsel_5__1.6 - 96749.5219885 zsel_5__1.7 | |
- 96558.3173996 zsel_5__1.8 - 96367.1128107 zsel_5__1.9 | |
- 96175.9082218 zsel_5__2.0 - 95984.7036329 zsel_5__2.1 | |
- 95793.499044 zsel_5__2.2 - 95602.2944551 zsel_5__2.3 | |
- 95411.0898662 zsel_5__2.4 - 95219.8852772 zsel_5__2.5 | |
- 95028.6806883 zsel_5__2.6 - 94837.4760994 zsel_5__2.7 | |
- 94646.2715105 zsel_5__2.8 - 94455.0669216 zsel_5__2.9 | |
- 94263.8623327 zsel_5__3.0 >= -96250.249266 | |
expprice_5: expected_price_5 - 1375.12463301 zsel_5_0.0 | |
- 2485.55771757 zsel_5_0.1 - 2282.76283823 zsel_5_0.2 | |
- 2079.63273102 zsel_5_0.3 - 1876.63070278 zsel_5_0.4 | |
- 1674.3590825 zsel_5_0.5 - 1473.56705277 zsel_5_0.6 | |
- 1275.15256001 zsel_5_0.7 - 1080.1570706 zsel_5_0.8 | |
- 889.752242005 zsel_5_0.9 - 705.218007315 zsel_5_1.0 | |
- 527.836639308 zsel_5_1.1 - 359.049972019 zsel_5_1.2 | |
- 200.55514209 zsel_5_1.3 - 53.3164676507 zsel_5_1.4 | |
+ 81.6662987565 zsel_5_1.5 + 203.121639538 zsel_5_1.6 | |
+ 309.340985541 zsel_5_1.7 + 398.131691552 zsel_5_1.8 | |
+ 466.848492618 zsel_5_1.9 + 512.491197243 zsel_5_2.0 | |
+ 532.256685986 zsel_5_2.1 + 524.092813776 zsel_5_2.2 | |
+ 486.090469606 zsel_5_2.3 + 416.690844832 zsel_5_2.4 | |
+ 316.606839273 zsel_5_2.5 + 187.333129742 zsel_5_2.6 | |
+ 33.5397134562 zsel_5_2.7 + 4.60044116457 zsel_5_2.8 | |
+ 0.650849222353 zsel_5_2.9 + 0.0945677340099 zsel_5_3.0 | |
- 84.4684355734 zsel_5__0.1 - 112.557417559 zsel_5__0.2 | |
- 148.129494201 zsel_5__0.3 - 192.623215944 zsel_5__0.4 | |
- 247.60567353 zsel_5__0.5 - 314.747205768 zsel_5__0.6 | |
- 395.786339713 zsel_5__0.7 - 492.485067996 zsel_5__0.8 | |
- 606.575245254 zsel_5__0.9 - 739.697621738 zsel_5__1.0 | |
- 128.536338801 zsel_5__1.1 - 132.953973802 zsel_5__1.2 | |
- 134.814111119 zsel_5__1.3 - 133.953882996 zsel_5__1.4 | |
- 130.396785032 zsel_5__1.5 - 124.242598237 zsel_5__1.6 | |
- 115.668566572 zsel_5__1.7 - 104.937298333 zsel_5__1.8 | |
- 91.9008673051 zsel_5__1.9 - 149.567126229 zsel_5__2.0 | |
- 56.2108098568 zsel_5__2.1 - 52.7947436016 zsel_5__2.2 | |
- 48.4321424113 zsel_5__2.3 - 43.2918674313 zsel_5__2.4 | |
- 37.6330132075 zsel_5__2.5 - 31.7793228393 zsel_5__2.6 | |
- 26.0285281068 zsel_5__2.7 - 20.7067193582 zsel_5__2.8 | |
- 15.8580924287 zsel_5__2.9 - 11.455757017 zsel_5__3.0 <= 0 | |
excl_1: zsel_1_0.0 + zsel_1_0.1 + zsel_1_0.2 + zsel_1_0.3 + zsel_1_0.4 | |
+ zsel_1_0.5 + zsel_1_0.6 + zsel_1_0.7 + zsel_1_0.8 + zsel_1_0.9 + zsel_1_1.0 | |
+ zsel_1_1.1 + zsel_1_1.2 + zsel_1_1.3 + zsel_1_1.4 + zsel_1_1.5 + zsel_1_1.6 | |
+ zsel_1_1.7 + zsel_1_1.8 + zsel_1_1.9 + zsel_1_2.0 + zsel_1_2.1 + zsel_1_2.2 | |
+ zsel_1_2.3 + zsel_1_2.4 + zsel_1_2.5 + zsel_1_2.6 + zsel_1_2.7 + zsel_1_2.8 | |
+ zsel_1_2.9 + zsel_1_3.0 + zsel_1__0.1 + zsel_1__0.2 + zsel_1__0.3 | |
+ zsel_1__0.4 + zsel_1__0.5 + zsel_1__0.6 + zsel_1__0.7 + zsel_1__0.8 | |
+ zsel_1__0.9 + zsel_1__1.0 + zsel_1__1.1 + zsel_1__1.2 + zsel_1__1.3 | |
+ zsel_1__1.4 + zsel_1__1.5 + zsel_1__1.6 + zsel_1__1.7 + zsel_1__1.8 | |
+ zsel_1__1.9 + zsel_1__2.0 + zsel_1__2.1 + zsel_1__2.2 + zsel_1__2.3 | |
+ zsel_1__2.4 + zsel_1__2.5 + zsel_1__2.6 + zsel_1__2.7 + zsel_1__2.8 | |
+ zsel_1__2.9 + zsel_1__3.0 <= 1 | |
excl_2: zsel_2_0.0 + zsel_2_0.1 + zsel_2_0.2 + zsel_2_0.3 + zsel_2_0.4 | |
+ zsel_2_0.5 + zsel_2_0.6 + zsel_2_0.7 + zsel_2_0.8 + zsel_2_0.9 + zsel_2_1.0 | |
+ zsel_2_1.1 + zsel_2_1.2 + zsel_2_1.3 + zsel_2_1.4 + zsel_2_1.5 + zsel_2_1.6 | |
+ zsel_2_1.7 + zsel_2_1.8 + zsel_2_1.9 + zsel_2_2.0 + zsel_2_2.1 + zsel_2_2.2 | |
+ zsel_2_2.3 + zsel_2_2.4 + zsel_2_2.5 + zsel_2_2.6 + zsel_2_2.7 + zsel_2_2.8 | |
+ zsel_2_2.9 + zsel_2_3.0 + zsel_2__0.1 + zsel_2__0.2 + zsel_2__0.3 | |
+ zsel_2__0.4 + zsel_2__0.5 + zsel_2__0.6 + zsel_2__0.7 + zsel_2__0.8 | |
+ zsel_2__0.9 + zsel_2__1.0 + zsel_2__1.1 + zsel_2__1.2 + zsel_2__1.3 | |
+ zsel_2__1.4 + zsel_2__1.5 + zsel_2__1.6 + zsel_2__1.7 + zsel_2__1.8 | |
+ zsel_2__1.9 + zsel_2__2.0 + zsel_2__2.1 + zsel_2__2.2 + zsel_2__2.3 | |
+ zsel_2__2.4 + zsel_2__2.5 + zsel_2__2.6 + zsel_2__2.7 + zsel_2__2.8 | |
+ zsel_2__2.9 + zsel_2__3.0 <= 1 | |
excl_3: zsel_3_0.0 + zsel_3_0.1 + zsel_3_0.2 + zsel_3_0.3 + zsel_3_0.4 | |
+ zsel_3_0.5 + zsel_3_0.6 + zsel_3_0.7 + zsel_3_0.8 + zsel_3_0.9 + zsel_3_1.0 | |
+ zsel_3_1.1 + zsel_3_1.2 + zsel_3_1.3 + zsel_3_1.4 + zsel_3_1.5 + zsel_3_1.6 | |
+ zsel_3_1.7 + zsel_3_1.8 + zsel_3_1.9 + zsel_3_2.0 + zsel_3_2.1 + zsel_3_2.2 | |
+ zsel_3_2.3 + zsel_3_2.4 + zsel_3_2.5 + zsel_3_2.6 + zsel_3_2.7 + zsel_3_2.8 | |
+ zsel_3_2.9 + zsel_3_3.0 + zsel_3__0.1 + zsel_3__0.2 + zsel_3__0.3 | |
+ zsel_3__0.4 + zsel_3__0.5 + zsel_3__0.6 + zsel_3__0.7 + zsel_3__0.8 | |
+ zsel_3__0.9 + zsel_3__1.0 + zsel_3__1.1 + zsel_3__1.2 + zsel_3__1.3 | |
+ zsel_3__1.4 + zsel_3__1.5 + zsel_3__1.6 + zsel_3__1.7 + zsel_3__1.8 | |
+ zsel_3__1.9 + zsel_3__2.0 + zsel_3__2.1 + zsel_3__2.2 + zsel_3__2.3 | |
+ zsel_3__2.4 + zsel_3__2.5 + zsel_3__2.6 + zsel_3__2.7 + zsel_3__2.8 | |
+ zsel_3__2.9 + zsel_3__3.0 <= 1 | |
excl_4: zsel_4_0.0 + zsel_4_0.1 + zsel_4_0.2 + zsel_4_0.3 + zsel_4_0.4 | |
+ zsel_4_0.5 + zsel_4_0.6 + zsel_4_0.7 + zsel_4_0.8 + zsel_4_0.9 + zsel_4_1.0 | |
+ zsel_4_1.1 + zsel_4_1.2 + zsel_4_1.3 + zsel_4_1.4 + zsel_4_1.5 + zsel_4_1.6 | |
+ zsel_4_1.7 + zsel_4_1.8 + zsel_4_1.9 + zsel_4_2.0 + zsel_4_2.1 + zsel_4_2.2 | |
+ zsel_4_2.3 + zsel_4_2.4 + zsel_4_2.5 + zsel_4_2.6 + zsel_4_2.7 + zsel_4_2.8 | |
+ zsel_4_2.9 + zsel_4_3.0 + zsel_4__0.1 + zsel_4__0.2 + zsel_4__0.3 | |
+ zsel_4__0.4 + zsel_4__0.5 + zsel_4__0.6 + zsel_4__0.7 + zsel_4__0.8 | |
+ zsel_4__0.9 + zsel_4__1.0 + zsel_4__1.1 + zsel_4__1.2 + zsel_4__1.3 | |
+ zsel_4__1.4 + zsel_4__1.5 + zsel_4__1.6 + zsel_4__1.7 + zsel_4__1.8 | |
+ zsel_4__1.9 + zsel_4__2.0 + zsel_4__2.1 + zsel_4__2.2 + zsel_4__2.3 | |
+ zsel_4__2.4 + zsel_4__2.5 + zsel_4__2.6 + zsel_4__2.7 + zsel_4__2.8 | |
+ zsel_4__2.9 + zsel_4__3.0 <= 1 | |
excl_5: zsel_5_0.0 + zsel_5_0.1 + zsel_5_0.2 + zsel_5_0.3 + zsel_5_0.4 | |
+ zsel_5_0.5 + zsel_5_0.6 + zsel_5_0.7 + zsel_5_0.8 + zsel_5_0.9 + zsel_5_1.0 | |
+ zsel_5_1.1 + zsel_5_1.2 + zsel_5_1.3 + zsel_5_1.4 + zsel_5_1.5 + zsel_5_1.6 | |
+ zsel_5_1.7 + zsel_5_1.8 + zsel_5_1.9 + zsel_5_2.0 + zsel_5_2.1 + zsel_5_2.2 | |
+ zsel_5_2.3 + zsel_5_2.4 + zsel_5_2.5 + zsel_5_2.6 + zsel_5_2.7 + zsel_5_2.8 | |
+ zsel_5_2.9 + zsel_5_3.0 + zsel_5__0.1 + zsel_5__0.2 + zsel_5__0.3 | |
+ zsel_5__0.4 + zsel_5__0.5 + zsel_5__0.6 + zsel_5__0.7 + zsel_5__0.8 | |
+ zsel_5__0.9 + zsel_5__1.0 + zsel_5__1.1 + zsel_5__1.2 + zsel_5__1.3 | |
+ zsel_5__1.4 + zsel_5__1.5 + zsel_5__1.6 + zsel_5__1.7 + zsel_5__1.8 | |
+ zsel_5__1.9 + zsel_5__2.0 + zsel_5__2.1 + zsel_5__2.2 + zsel_5__2.3 | |
+ zsel_5__2.4 + zsel_5__2.5 + zsel_5__2.6 + zsel_5__2.7 + zsel_5__2.8 | |
+ zsel_5__2.9 + zsel_5__3.0 <= 1 | |
VARIABLES | |
expected_price_1 free Continuous | |
expected_price_2 free Continuous | |
expected_price_3 free Continuous | |
expected_price_4 free Continuous | |
expected_price_5 free Continuous | |
0 <= zsel_1_0.0 <= 1 Integer | |
0 <= zsel_1_0.1 <= 1 Integer | |
0 <= zsel_1_0.2 <= 1 Integer | |
0 <= zsel_1_0.3 <= 1 Integer | |
0 <= zsel_1_0.4 <= 1 Integer | |
0 <= zsel_1_0.5 <= 1 Integer | |
0 <= zsel_1_0.6 <= 1 Integer | |
0 <= zsel_1_0.7 <= 1 Integer | |
0 <= zsel_1_0.8 <= 1 Integer | |
0 <= zsel_1_0.9 <= 1 Integer | |
0 <= zsel_1_1.0 <= 1 Integer | |
0 <= zsel_1_1.1 <= 1 Integer | |
0 <= zsel_1_1.2 <= 1 Integer | |
0 <= zsel_1_1.3 <= 1 Integer | |
0 <= zsel_1_1.4 <= 1 Integer | |
0 <= zsel_1_1.5 <= 1 Integer | |
0 <= zsel_1_1.6 <= 1 Integer | |
0 <= zsel_1_1.7 <= 1 Integer | |
0 <= zsel_1_1.8 <= 1 Integer | |
0 <= zsel_1_1.9 <= 1 Integer | |
0 <= zsel_1_2.0 <= 1 Integer | |
0 <= zsel_1_2.1 <= 1 Integer | |
0 <= zsel_1_2.2 <= 1 Integer | |
0 <= zsel_1_2.3 <= 1 Integer | |
0 <= zsel_1_2.4 <= 1 Integer | |
0 <= zsel_1_2.5 <= 1 Integer | |
0 <= zsel_1_2.6 <= 1 Integer | |
0 <= zsel_1_2.7 <= 1 Integer | |
0 <= zsel_1_2.8 <= 1 Integer | |
0 <= zsel_1_2.9 <= 1 Integer | |
0 <= zsel_1_3.0 <= 1 Integer | |
0 <= zsel_1__0.1 <= 1 Integer | |
0 <= zsel_1__0.2 <= 1 Integer | |
0 <= zsel_1__0.3 <= 1 Integer | |
0 <= zsel_1__0.4 <= 1 Integer | |
0 <= zsel_1__0.5 <= 1 Integer | |
0 <= zsel_1__0.6 <= 1 Integer | |
0 <= zsel_1__0.7 <= 1 Integer | |
0 <= zsel_1__0.8 <= 1 Integer | |
0 <= zsel_1__0.9 <= 1 Integer | |
0 <= zsel_1__1.0 <= 1 Integer | |
0 <= zsel_1__1.1 <= 1 Integer | |
0 <= zsel_1__1.2 <= 1 Integer | |
0 <= zsel_1__1.3 <= 1 Integer | |
0 <= zsel_1__1.4 <= 1 Integer | |
0 <= zsel_1__1.5 <= 1 Integer | |
0 <= zsel_1__1.6 <= 1 Integer | |
0 <= zsel_1__1.7 <= 1 Integer | |
0 <= zsel_1__1.8 <= 1 Integer | |
0 <= zsel_1__1.9 <= 1 Integer | |
0 <= zsel_1__2.0 <= 1 Integer | |
0 <= zsel_1__2.1 <= 1 Integer | |
0 <= zsel_1__2.2 <= 1 Integer | |
0 <= zsel_1__2.3 <= 1 Integer | |
0 <= zsel_1__2.4 <= 1 Integer | |
0 <= zsel_1__2.5 <= 1 Integer | |
0 <= zsel_1__2.6 <= 1 Integer | |
0 <= zsel_1__2.7 <= 1 Integer | |
0 <= zsel_1__2.8 <= 1 Integer | |
0 <= zsel_1__2.9 <= 1 Integer | |
0 <= zsel_1__3.0 <= 1 Integer | |
0 <= zsel_2_0.0 <= 1 Integer | |
0 <= zsel_2_0.1 <= 1 Integer | |
0 <= zsel_2_0.2 <= 1 Integer | |
0 <= zsel_2_0.3 <= 1 Integer | |
0 <= zsel_2_0.4 <= 1 Integer | |
0 <= zsel_2_0.5 <= 1 Integer | |
0 <= zsel_2_0.6 <= 1 Integer | |
0 <= zsel_2_0.7 <= 1 Integer | |
0 <= zsel_2_0.8 <= 1 Integer | |
0 <= zsel_2_0.9 <= 1 Integer | |
0 <= zsel_2_1.0 <= 1 Integer | |
0 <= zsel_2_1.1 <= 1 Integer | |
0 <= zsel_2_1.2 <= 1 Integer | |
0 <= zsel_2_1.3 <= 1 Integer | |
0 <= zsel_2_1.4 <= 1 Integer | |
0 <= zsel_2_1.5 <= 1 Integer | |
0 <= zsel_2_1.6 <= 1 Integer | |
0 <= zsel_2_1.7 <= 1 Integer | |
0 <= zsel_2_1.8 <= 1 Integer | |
0 <= zsel_2_1.9 <= 1 Integer | |
0 <= zsel_2_2.0 <= 1 Integer | |
0 <= zsel_2_2.1 <= 1 Integer | |
0 <= zsel_2_2.2 <= 1 Integer | |
0 <= zsel_2_2.3 <= 1 Integer | |
0 <= zsel_2_2.4 <= 1 Integer | |
0 <= zsel_2_2.5 <= 1 Integer | |
0 <= zsel_2_2.6 <= 1 Integer | |
0 <= zsel_2_2.7 <= 1 Integer | |
0 <= zsel_2_2.8 <= 1 Integer | |
0 <= zsel_2_2.9 <= 1 Integer | |
0 <= zsel_2_3.0 <= 1 Integer | |
0 <= zsel_2__0.1 <= 1 Integer | |
0 <= zsel_2__0.2 <= 1 Integer | |
0 <= zsel_2__0.3 <= 1 Integer | |
0 <= zsel_2__0.4 <= 1 Integer | |
0 <= zsel_2__0.5 <= 1 Integer | |
0 <= zsel_2__0.6 <= 1 Integer | |
0 <= zsel_2__0.7 <= 1 Integer | |
0 <= zsel_2__0.8 <= 1 Integer | |
0 <= zsel_2__0.9 <= 1 Integer | |
0 <= zsel_2__1.0 <= 1 Integer | |
0 <= zsel_2__1.1 <= 1 Integer | |
0 <= zsel_2__1.2 <= 1 Integer | |
0 <= zsel_2__1.3 <= 1 Integer | |
0 <= zsel_2__1.4 <= 1 Integer | |
0 <= zsel_2__1.5 <= 1 Integer | |
0 <= zsel_2__1.6 <= 1 Integer | |
0 <= zsel_2__1.7 <= 1 Integer | |
0 <= zsel_2__1.8 <= 1 Integer | |
0 <= zsel_2__1.9 <= 1 Integer | |
0 <= zsel_2__2.0 <= 1 Integer | |
0 <= zsel_2__2.1 <= 1 Integer | |
0 <= zsel_2__2.2 <= 1 Integer | |
0 <= zsel_2__2.3 <= 1 Integer | |
0 <= zsel_2__2.4 <= 1 Integer | |
0 <= zsel_2__2.5 <= 1 Integer | |
0 <= zsel_2__2.6 <= 1 Integer | |
0 <= zsel_2__2.7 <= 1 Integer | |
0 <= zsel_2__2.8 <= 1 Integer | |
0 <= zsel_2__2.9 <= 1 Integer | |
0 <= zsel_2__3.0 <= 1 Integer | |
0 <= zsel_3_0.0 <= 1 Integer | |
0 <= zsel_3_0.1 <= 1 Integer | |
0 <= zsel_3_0.2 <= 1 Integer | |
0 <= zsel_3_0.3 <= 1 Integer | |
0 <= zsel_3_0.4 <= 1 Integer | |
0 <= zsel_3_0.5 <= 1 Integer | |
0 <= zsel_3_0.6 <= 1 Integer | |
0 <= zsel_3_0.7 <= 1 Integer | |
0 <= zsel_3_0.8 <= 1 Integer | |
0 <= zsel_3_0.9 <= 1 Integer | |
0 <= zsel_3_1.0 <= 1 Integer | |
0 <= zsel_3_1.1 <= 1 Integer | |
0 <= zsel_3_1.2 <= 1 Integer | |
0 <= zsel_3_1.3 <= 1 Integer | |
0 <= zsel_3_1.4 <= 1 Integer | |
0 <= zsel_3_1.5 <= 1 Integer | |
0 <= zsel_3_1.6 <= 1 Integer | |
0 <= zsel_3_1.7 <= 1 Integer | |
0 <= zsel_3_1.8 <= 1 Integer | |
0 <= zsel_3_1.9 <= 1 Integer | |
0 <= zsel_3_2.0 <= 1 Integer | |
0 <= zsel_3_2.1 <= 1 Integer | |
0 <= zsel_3_2.2 <= 1 Integer | |
0 <= zsel_3_2.3 <= 1 Integer | |
0 <= zsel_3_2.4 <= 1 Integer | |
0 <= zsel_3_2.5 <= 1 Integer | |
0 <= zsel_3_2.6 <= 1 Integer | |
0 <= zsel_3_2.7 <= 1 Integer | |
0 <= zsel_3_2.8 <= 1 Integer | |
0 <= zsel_3_2.9 <= 1 Integer | |
0 <= zsel_3_3.0 <= 1 Integer | |
0 <= zsel_3__0.1 <= 1 Integer | |
0 <= zsel_3__0.2 <= 1 Integer | |
0 <= zsel_3__0.3 <= 1 Integer | |
0 <= zsel_3__0.4 <= 1 Integer | |
0 <= zsel_3__0.5 <= 1 Integer | |
0 <= zsel_3__0.6 <= 1 Integer | |
0 <= zsel_3__0.7 <= 1 Integer | |
0 <= zsel_3__0.8 <= 1 Integer | |
0 <= zsel_3__0.9 <= 1 Integer | |
0 <= zsel_3__1.0 <= 1 Integer | |
0 <= zsel_3__1.1 <= 1 Integer | |
0 <= zsel_3__1.2 <= 1 Integer | |
0 <= zsel_3__1.3 <= 1 Integer | |
0 <= zsel_3__1.4 <= 1 Integer | |
0 <= zsel_3__1.5 <= 1 Integer | |
0 <= zsel_3__1.6 <= 1 Integer | |
0 <= zsel_3__1.7 <= 1 Integer | |
0 <= zsel_3__1.8 <= 1 Integer | |
0 <= zsel_3__1.9 <= 1 Integer | |
0 <= zsel_3__2.0 <= 1 Integer | |
0 <= zsel_3__2.1 <= 1 Integer | |
0 <= zsel_3__2.2 <= 1 Integer | |
0 <= zsel_3__2.3 <= 1 Integer | |
0 <= zsel_3__2.4 <= 1 Integer | |
0 <= zsel_3__2.5 <= 1 Integer | |
0 <= zsel_3__2.6 <= 1 Integer | |
0 <= zsel_3__2.7 <= 1 Integer | |
0 <= zsel_3__2.8 <= 1 Integer | |
0 <= zsel_3__2.9 <= 1 Integer | |
0 <= zsel_3__3.0 <= 1 Integer | |
0 <= zsel_4_0.0 <= 1 Integer | |
0 <= zsel_4_0.1 <= 1 Integer | |
0 <= zsel_4_0.2 <= 1 Integer | |
0 <= zsel_4_0.3 <= 1 Integer | |
0 <= zsel_4_0.4 <= 1 Integer | |
0 <= zsel_4_0.5 <= 1 Integer | |
0 <= zsel_4_0.6 <= 1 Integer | |
0 <= zsel_4_0.7 <= 1 Integer | |
0 <= zsel_4_0.8 <= 1 Integer | |
0 <= zsel_4_0.9 <= 1 Integer | |
0 <= zsel_4_1.0 <= 1 Integer | |
0 <= zsel_4_1.1 <= 1 Integer | |
0 <= zsel_4_1.2 <= 1 Integer | |
0 <= zsel_4_1.3 <= 1 Integer | |
0 <= zsel_4_1.4 <= 1 Integer | |
0 <= zsel_4_1.5 <= 1 Integer | |
0 <= zsel_4_1.6 <= 1 Integer | |
0 <= zsel_4_1.7 <= 1 Integer | |
0 <= zsel_4_1.8 <= 1 Integer | |
0 <= zsel_4_1.9 <= 1 Integer | |
0 <= zsel_4_2.0 <= 1 Integer | |
0 <= zsel_4_2.1 <= 1 Integer | |
0 <= zsel_4_2.2 <= 1 Integer | |
0 <= zsel_4_2.3 <= 1 Integer | |
0 <= zsel_4_2.4 <= 1 Integer | |
0 <= zsel_4_2.5 <= 1 Integer | |
0 <= zsel_4_2.6 <= 1 Integer | |
0 <= zsel_4_2.7 <= 1 Integer | |
0 <= zsel_4_2.8 <= 1 Integer | |
0 <= zsel_4_2.9 <= 1 Integer | |
0 <= zsel_4_3.0 <= 1 Integer | |
0 <= zsel_4__0.1 <= 1 Integer | |
0 <= zsel_4__0.2 <= 1 Integer | |
0 <= zsel_4__0.3 <= 1 Integer | |
0 <= zsel_4__0.4 <= 1 Integer | |
0 <= zsel_4__0.5 <= 1 Integer | |
0 <= zsel_4__0.6 <= 1 Integer | |
0 <= zsel_4__0.7 <= 1 Integer | |
0 <= zsel_4__0.8 <= 1 Integer | |
0 <= zsel_4__0.9 <= 1 Integer | |
0 <= zsel_4__1.0 <= 1 Integer | |
0 <= zsel_4__1.1 <= 1 Integer | |
0 <= zsel_4__1.2 <= 1 Integer | |
0 <= zsel_4__1.3 <= 1 Integer | |
0 <= zsel_4__1.4 <= 1 Integer | |
0 <= zsel_4__1.5 <= 1 Integer | |
0 <= zsel_4__1.6 <= 1 Integer | |
0 <= zsel_4__1.7 <= 1 Integer | |
0 <= zsel_4__1.8 <= 1 Integer | |
0 <= zsel_4__1.9 <= 1 Integer | |
0 <= zsel_4__2.0 <= 1 Integer | |
0 <= zsel_4__2.1 <= 1 Integer | |
0 <= zsel_4__2.2 <= 1 Integer | |
0 <= zsel_4__2.3 <= 1 Integer | |
0 <= zsel_4__2.4 <= 1 Integer | |
0 <= zsel_4__2.5 <= 1 Integer | |
0 <= zsel_4__2.6 <= 1 Integer | |
0 <= zsel_4__2.7 <= 1 Integer | |
0 <= zsel_4__2.8 <= 1 Integer | |
0 <= zsel_4__2.9 <= 1 Integer | |
0 <= zsel_4__3.0 <= 1 Integer | |
0 <= zsel_5_0.0 <= 1 Integer | |
0 <= zsel_5_0.1 <= 1 Integer | |
0 <= zsel_5_0.2 <= 1 Integer | |
0 <= zsel_5_0.3 <= 1 Integer | |
0 <= zsel_5_0.4 <= 1 Integer | |
0 <= zsel_5_0.5 <= 1 Integer | |
0 <= zsel_5_0.6 <= 1 Integer | |
0 <= zsel_5_0.7 <= 1 Integer | |
0 <= zsel_5_0.8 <= 1 Integer | |
0 <= zsel_5_0.9 <= 1 Integer | |
0 <= zsel_5_1.0 <= 1 Integer | |
0 <= zsel_5_1.1 <= 1 Integer | |
0 <= zsel_5_1.2 <= 1 Integer | |
0 <= zsel_5_1.3 <= 1 Integer | |
0 <= zsel_5_1.4 <= 1 Integer | |
0 <= zsel_5_1.5 <= 1 Integer | |
0 <= zsel_5_1.6 <= 1 Integer | |
0 <= zsel_5_1.7 <= 1 Integer | |
0 <= zsel_5_1.8 <= 1 Integer | |
0 <= zsel_5_1.9 <= 1 Integer | |
0 <= zsel_5_2.0 <= 1 Integer | |
0 <= zsel_5_2.1 <= 1 Integer | |
0 <= zsel_5_2.2 <= 1 Integer | |
0 <= zsel_5_2.3 <= 1 Integer | |
0 <= zsel_5_2.4 <= 1 Integer | |
0 <= zsel_5_2.5 <= 1 Integer | |
0 <= zsel_5_2.6 <= 1 Integer | |
0 <= zsel_5_2.7 <= 1 Integer | |
0 <= zsel_5_2.8 <= 1 Integer | |
0 <= zsel_5_2.9 <= 1 Integer | |
0 <= zsel_5_3.0 <= 1 Integer | |
0 <= zsel_5__0.1 <= 1 Integer | |
0 <= zsel_5__0.2 <= 1 Integer | |
0 <= zsel_5__0.3 <= 1 Integer | |
0 <= zsel_5__0.4 <= 1 Integer | |
0 <= zsel_5__0.5 <= 1 Integer | |
0 <= zsel_5__0.6 <= 1 Integer | |
0 <= zsel_5__0.7 <= 1 Integer | |
0 <= zsel_5__0.8 <= 1 Integer | |
0 <= zsel_5__0.9 <= 1 Integer | |
0 <= zsel_5__1.0 <= 1 Integer | |
0 <= zsel_5__1.1 <= 1 Integer | |
0 <= zsel_5__1.2 <= 1 Integer | |
0 <= zsel_5__1.3 <= 1 Integer | |
0 <= zsel_5__1.4 <= 1 Integer | |
0 <= zsel_5__1.5 <= 1 Integer | |
0 <= zsel_5__1.6 <= 1 Integer | |
0 <= zsel_5__1.7 <= 1 Integer | |
0 <= zsel_5__1.8 <= 1 Integer | |
0 <= zsel_5__1.9 <= 1 Integer | |
0 <= zsel_5__2.0 <= 1 Integer | |
0 <= zsel_5__2.1 <= 1 Integer | |
0 <= zsel_5__2.2 <= 1 Integer | |
0 <= zsel_5__2.3 <= 1 Integer | |
0 <= zsel_5__2.4 <= 1 Integer | |
0 <= zsel_5__2.5 <= 1 Integer | |
0 <= zsel_5__2.6 <= 1 Integer | |
0 <= zsel_5__2.7 <= 1 Integer | |
0 <= zsel_5__2.8 <= 1 Integer | |
0 <= zsel_5__2.9 <= 1 Integer | |
0 <= zsel_5__3.0 <= 1 Integer | |
... | |
Result - Optimal solution found | |
Objective value: 1385.94715724 | |
Enumerated nodes: 0 | |
Total iterations: 0 | |
Time (CPU seconds): 0.01 | |
Time (Wallclock seconds): 0.01 | |
Option for printingOptions changed from normal to all | |
Total time (CPU seconds): 0.01 (Wallclock seconds): 0.01 | |
fixed_factors zscore prob assign expected_price price | |
id | |
1 0.774388 -2.7 0.003289 1.0 21.852318 6643.189162 | |
2 2.138180 -2.0 0.022750 1.0 180.007910 7912.389829 | |
3 2.410249 -1.0 0.158655 1.0 1034.519800 6520.551792 | |
4 0.207384 0.0 0.000000 0.0 0.000000 396.528057 | |
5 1.438380 -2.0 0.022750 1.0 149.567130 6574.341044 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment