NBA_Front_Office_Optimization

Optimizing basketball team performance under a salary cap

Project Goal

Optimize NBA salary cap allocation for a NBA franchise to maximize team performance (winning games) subject to budget constraints imposed by the salary cap.

Background:

NBA teams have one goal. They want to win a championship. In order to do that, they want to build the best team by picking the combination of players that increases their odds of winning. They’re constrained by a salary cap which places a limit on the total amount of money they can pay the players on their team. The other team building constraint is each roster must contain at least one player of each of the five main positions (point guard, shooting guard, small forward, power forward, and center).

Chances of winnings is a variable that we concern. For people who are familar with NBA games probably know, there exists player statistics such as win shares(WS), Box Plus/Minus (BPM), and value over replacement player (VORP), are performance scores calculated based on each player's contribution to past games. We are going to see if there is correlation between chances of winings with these player statistics. If yes, we can use players' prior/historical stats as a presenation/expectation of chances of winnings.

Project plan:

  • Problem to solve: Pick NBA players to build a team
  • Objective: Maximize chances of winnings
  • Constraints:
    • Salary cap : $102M
    • Roster size : min 8, max 17
    • Position : at least one player for each of the 5 positions (PG, SG, SF, PF, C)

Interest Findings:

  • The top 3 players in Win Shares showed up frequently in our optimal lineups (Giannis, Rudy G, Harden)
    • Giannis and Harden were the top 2 MVP vote getters as well
  • Our models tended to pick a few super stars(expensive players) and supplement the roster with unknown(less expensive) players
  • The Win Share based models leaned towards picking more center-position players while our second model incorporating all 3 statistics picked a more positionally-balanced roster
  • The Free Agent model picked the top 4 available free agents in Win Shares

Data sources:

Player salary data: https://www.basketball-reference.com/contracts/players.html

Player performance data: https://www.basketball-reference.com/leagues/NBA_2019_advanced.html

Load Data

The datasets have been cleaned before loaded into this notebook. The data preprocessing part has been done in a separate notebook. For this notebook, we will have a quick data overview and then focus on solving optimization problems.

Here are the Data Preprocessing procedures:

  • split player name and player ID into two separate columns
  • remove duplicated rows
  • for players who played in multiple team, combine all rows of a player into one row, therefore one row represent one unique player
  • combine player salary table with player performance table (which contains player stats)
In [2]:
# Load data
using CSV
players = CSV.read("Players.csv"; header=true)
adv_stats_df = CSV.read("AdvStatsClean.csv"; header=true)
salaries_df = CSV.read("SalaryClean.csv"; header=true)
Out[2]:

507 rows × 14 columns (omitted printing of 8 columns)

RankPlayerTeam19_20_Salary20_21_Salary21_22_Salary
Int64StringStringInt64Int64⍰Int64⍰
1494A.J. Hammons\\hammoaj01MIA350087350087missing
253Aaron Gordon\\gordoaa01ORL198636361813636416409091
3326Aaron Holiday\\holidaa01IND223920023456403980551
4392Abdel Nader\\naderab01OKC16185201752950missing
5446Admiral Schofield\\schofad01WAS89831015179811782621
624Al Horford\\horfoal01PHI280000002750000027000000
7135Al-Farouq Aminu\\aminual01ORL9258000972090010183800
8319Alec Burks\\burksal01PHI2320044missingmissing
9455Alen Smailagi?\\smailal01GSW89831015179811782621
10280Alex Caruso\\carusal01LAL27500002750000missing
11224Alex Len\\lenal01ATL4160000missingmissing
12435Alfonzo McKinnie\\mckinal01CLE225303117627961910860
13426Alize Johnson\\johnsal02IND1416852missingmissing
1462Allen Crabbe\\crabbal01MIN18500000missingmissing
15243Allonzo Trier\\trieral01NYK3551100missingmissing
16408Amile Jefferson\\jeffeam01ORL1445697missingmissing
17360Anderson Varej\xe3o\\varejan01POR19133451913345missing
1836Andre Drummond\\drumman01CLE2709301928751775missing
1969Andre Iguodala\\iguodan01MIA171851851500000015000000
20118Andre Roberson\\roberan03OKC10740741missingmissing
21276Andrew Nicholson\\nichoan01POR284442928444292844429
2230Andrew Wiggins\\wiggian01GSW272700002929000031310000
23332Anfernee Simons\\simonan01POR214956022520403938818
24324Ante \x8ei\x9ei?\\zizican01CLE2281800missingmissing
2535Anthony Davis\\davisan02LAL2709301928751775missing
26291Anthony Tolliver\\tollian01SAC2564753missingmissing
27484An\x9eejs Pase??iks\\pasecan01WAS482144missingmissing
28191Aron Baynes\\baynear01PHO5453280missingmissing
29330Austin Rivers\\riverau01HOU21743182369663missing
30208Avery Bradley\\bradlav01LAL67670005005350missing
In [3]:
# shape of players table (we have 399 NBA players in total)
size(players)
Out[3]:
(399, 31)
In [2]:
# Column names
names(players)
Out[2]:
31-element Array{Symbol,1}:
 :Rk                   
 :Player               
 :Pos                  
 :Age                  
 :Tm                   
 :G                    
 :MP                   
 :PER                  
 Symbol("TS%")         
 Symbol("3PAr")        
 :FTr                  
 Symbol("ORB%")        
 Symbol("DRB%")        
 ⋮                     
 :OWS                  
 :DWS                  
 :WS                   
 Symbol("WS/48")       
 :OBPM                 
 :DBPM                 
 :BPM                  
 :VORP                 
 :Player_Name          
 :Player_ID            
 :Remove               
 Symbol("19_20_Salary")

Data Exploratory Analysis

In general, we see there is upward trend in the scatter plots between the 3 player stats (WS, VORP, BPM) and salary. We can assume that there is a positive linear relationship (correlation) between these player stats and salary. We will later run a linear regressin model to prove this correlation.

In [4]:
# Scatter plot : win shares vs salary
using Plots
scatter(players[!, Symbol("19_20_Salary")], players[!, :WS], title="Win Shares by Salary")
Out[4]:
0 1×10 7 2×10 7 3×10 7 4×10 7 0 5 10 15 Win Shares by Salary y1
In [5]:
# Save the plot
savefig("WSvSal.png")
In [6]:
# Scatter plot : Value over Replacement Player (VORP) vs salary
scatter(players[!, Symbol("19_20_Salary")], players[!, :VORP], title="Value over Replacement by Salary")
Out[6]:
0 1×10 7 2×10 7 3×10 7 4×10 7 0 3 6 9 Value over Replacement by Salary y1
In [7]:
savefig("VORPvSal.png")
In [8]:
# Scatter plot : Box Plus/Minus (BPM) vs salary
scatter(players[!, Symbol("19_20_Salary")], players[!, :BPM], title="Box Plus/Minus by Salary")
Out[8]:
0 1×10 7 2×10 7 3×10 7 4×10 7 -10 -5 0 5 10 15 Box Plus/Minus by Salary y1
In [9]:
savefig("BPMvSal.png")
In [4]:
# We will be using salary for the season of 2019-2020
using DataFrames
rename!(players, Dict(Symbol("19_20_Salary") => "Salary"))
Out[4]:

399 rows × 31 columns (omitted printing of 23 columns)

RkPlayerPosAgeTmGMPPER
Int64StringStringInt64StringInt64Int64Float64
13Jaylen Adams\\adamsja01PG22ATL344287.6
24Steven Adams\\adamsst01C25OKC80266918.5
35Bam Adebayo\\adebaba01C21MIA82191317.9
48LaMarcus Aldridge\\aldrila01C33SAS81268722.9
510Grayson Allen\\allengr01SG23UTA384167.5
611Jarrett Allen\\allenja01C20BRK80209618.5
713Al-Farouq Aminu\\aminual01PF28POR81229213.2
814Justin Anderson\\anderju01SF25ATL4846311.2
915Kyle Anderson\\anderky01SF25MEM43128112.8
1016Ryan Anderson\\anderry01PF30TOT253224.6
1118Giannis Antetokounmpo\\antetgi01PF24MIL72235830.9
1220Carmelo Anthony\\anthoca01PF34HOU1029410.9
1321OG Anunoby\\anunoog01SF21TOR6713529.8
1422Ryan Arcidiacono\\arcidry01PG24CHI81196111.6
1523Trevor Ariza\\arizatr01SF33TOT69234912.0
1624D.J. Augustin\\augusdj01PG31ORL81226915.7
1725Deandre Ayton\\aytonde01C20PHO71218320.5
1826Dwayne Bacon\\bacondw01SG23CHO4375911.7
1927Marvin Bagley\\baglema01PF19SAC62156718.9
2030Lonzo Ball\\balllo01PG21LAL47142311.7
2131Mo Bamba\\bambamo01C20ORL4776614.9
2232J.J. Barea\\bareajo01PG34DAL3875216.3
2333Harrison Barnes\\barneha02PF26TOT77253312.8
2434Will Barton\\bartowi01SF28DEN43118911.0
2535Keita Bates-Diop\\bateske01SF23MIN305039.6
2636Nicolas Batum\\batumni01SF30CHO75235411.9
2738Aron Baynes\\baynear01C32BOS5182114.0
2839Kent Bazemore\\bazemke01SG29ATL67164311.9
2940Bradley Beal\\bealbr01SG25WAS82302820.8
3041Malik Beasley\\beaslma01SG22DEN81187914.2
In [10]:
# important columns: player-id, position, salary, WS(winshare), BPM and VORP
players[:, [:Player,:Pos, :Salary,:WS,:BPM,:VORP]]
Out[10]:

399 rows × 6 columns

PlayerPosSalaryWSBPMVORP
StringStringInt64Float64Float64Float64
1Jaylen Adams\\adamsja01PG1000000.1-4.4-0.3
2Steven Adams\\adamsst01C258426979.12.73.2
3Bam Adebayo\\adebaba01C34540806.83.02.4
4LaMarcus Aldridge\\aldrila01C260000009.31.62.5
5Grayson Allen\\allengr01SG24294000.0-6.8-0.5
6Jarrett Allen\\allenja01C23768407.62.52.4
7Al-Farouq Aminu\\aminual01PF92580005.80.91.7
8Justin Anderson\\anderju01SF981440.4-3.2-0.1
9Kyle Anderson\\anderky01SF90730502.71.21.0
10Ryan Anderson\\anderry01PF5714583-0.2-6.4-0.4
11Giannis Antetokounmpo\\antetgi01PF2584269714.410.87.6
12Carmelo Anthony\\anthoca01PF21590290.3-5.9-0.3
13OG Anunoby\\anunoog01SF22818002.0-1.20.3
14Ryan Arcidiacono\\arcidry01PG30000003.7-1.00.5
15Trevor Ariza\\arizatr01SF122000002.5-0.50.9
16D.J. Augustin\\augusdj01PG72500006.9-0.31.0
17Deandre Ayton\\aytonde01C95629205.80.21.2
18Dwayne Bacon\\bacondw01SG16185201.2-3.5-0.3
19Marvin Bagley\\baglema01PF85561203.6-1.80.1
20Lonzo Ball\\balllo01PG87193201.60.50.9
21Mo Bamba\\bambamo01C56976001.7-0.20.4
22J.J. Barea\\bareajo01PG25647531.0-1.10.2
23Harrison Barnes\\barneha02PF241477273.6-2.3-0.2
24Will Barton\\bartowi01SF129600001.2-2.3-0.1
25Keita Bates-Diop\\bateske01SF14168520.3-3.1-0.1
26Nicolas Batum\\batumni01SF255652173.70.81.7
27Aron Baynes\\baynear01C54532802.40.20.5
28Kent Bazemore\\bazemke01SG192696620.7-2.2-0.1
29Bradley Beal\\bealbr01SG270930197.62.83.7
30Malik Beasley\\beaslma01SG27317144.5-0.50.7
In [5]:
using GLM, StatsModels
linearmodel_ws = fit(LinearModel, @formula(WS ~ Salary), players)
Out[5]:
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

WS ~ 1 + Salary

Coefficients:
───────────────────────────────────────────────────────────────────────────────
               Estimate  Std. Error   t value  Pr(>|t|)   Lower 95%   Upper 95%
───────────────────────────────────────────────────────────────────────────────
(Intercept)  1.25688     0.148903     8.44096    <1e-15  0.964144    1.54962   
Salary       1.96455e-7  1.15782e-8  16.9676     <1e-48  1.73692e-7  2.19217e-7
───────────────────────────────────────────────────────────────────────────────
In [6]:
# Coefficient of Win shares
ws_coef = coef(linearmodel_ws)[2]
Out[6]:
1.9645459381741025e-7
In [7]:
using GLM, StatsModels
linearmodel_bpm = fit(LinearModel, @formula(BPM ~ Salary), players)
Out[7]:
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

BPM ~ 1 + Salary

Coefficients:
─────────────────────────────────────────────────────────────────────────────────
                Estimate  Std. Error   t value  Pr(>|t|)   Lower 95%    Upper 95%
─────────────────────────────────────────────────────────────────────────────────
(Intercept)  -2.46515     0.200884    -12.2715    <1e-28  -2.86008    -2.07022   
Salary        1.89989e-7  1.56201e-8   12.1631    <1e-28   1.5928e-7   2.20697e-7
─────────────────────────────────────────────────────────────────────────────────
In [8]:
# Coeffiecient of BPM
bpm_coef = coef(linearmodel_bpm)[2]
Out[8]:
1.89988777687097e-7
In [9]:
using GLM, StatsModels
linearmodel_vorp = fit(LinearModel, @formula(VORP ~ Salary), players)
Out[9]:
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}},Array{Float64,2}}

VORP ~ 1 + Salary

Coefficients:
─────────────────────────────────────────────────────────────────────────────────
                Estimate  Std. Error   t value  Pr(>|t|)    Lower 95%   Upper 95%
─────────────────────────────────────────────────────────────────────────────────
(Intercept)  -0.103755    0.0756915   -1.37076    0.1712  -0.252561    0.0450513 
Salary        1.00664e-7  5.88553e-9  17.1036     <1e-48   8.90934e-8  1.12235e-7
─────────────────────────────────────────────────────────────────────────────────
In [10]:
# coefficient of VORP
vorp_coef = coef(linearmodel_vorp)[2]
Out[10]:
1.0066406843422991e-7

Some fun facts in the data

The highest salary in the table is $40M

In [11]:
# The highest salary in the table
maximum(players.:Salary)
Out[11]:
40231758

Stephen Curry is the one with the highest salary

In [12]:
# Player of the highest salary
players[players.:Salary .== 40231758, : ]
Out[12]:

1 rows × 31 columns (omitted printing of 22 columns)

RkPlayerPosAgeTmGMPPERTS%
Int64StringStringInt64StringInt64Int64Float64Float64⍰
1124Stephen Curry\\curryst01PG30GSW69233124.40.641

There are a total of 399 players

In [13]:
using DataFrames
nplayers = size(players)[1]
nplayers
Out[13]:
399

Five positions of players in basketball game

In [14]:
unique(players.:Pos)
Out[14]:
5-element Array{String,1}:
 "PG"
 "C" 
 "SG"
 "PF"
 "SF"
In [15]:
# Create player groups based on the position they play
PG = [i for i=1:size(players)[1] if players[i,:Pos] .== "PG" ]
C = [i for i=1:size(players)[1] if players[i,:Pos] .== "C" ]
SG = [i for i=1:size(players)[1] if players[i,:Pos] .== "SG" ]
PF = [i for i=1:size(players)[1] if players[i,:Pos] .== "PF" ]
SF = [i for i=1:size(players)[1] if players[i,:Pos] .== "SF" ]
Out[15]:
67-element Array{Int64,1}:
   8
   9
  13
  15
  24
  25
  26
  42
  49
  50
  53
  57
  64
   ⋮
 309
 319
 329
 334
 347
 351
 377
 379
 383
 385
 389
 391

Optimization Models

Model 1 - Maximize Win shares

We consider win shares as the only objective to maximize

In [16]:
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface


model  = Model(with_optimizer(GLPK.Optimizer))

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model, x[1:399], Bin)
 
# each cell must contain only one digit
@constraint(model, sum(x[i] for i in PG) >= 1)
@constraint(model, sum(x[i] for i in C) >= 1)
@constraint(model, sum(x[i] for i in SG) >= 1)
@constraint(model, sum(x[i] for i in PF) >= 1)
@constraint(model, sum(x[i] for i in SF) >= 1)
@constraint(model, sum(x[i] for i in 1:399) == 8)
@constraint(model, sum(x[i] .* players[i,:Salary] for i = 1:399) <=  102000000)  


# maximize win shares    
@objective(model, Max, sum(x[i] .* players[i,:WS] for i = 1:399))
                    

println("The optimization problem to be solved is:")
print(model)

JuMP.optimize!(model)
term_status = JuMP.termination_status(model)
primal_status = JuMP.primal_status(model)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Max 0.1 x[1] + 9.1 x[2] + 6.8 x[3] + 9.3 x[4] + 7.6 x[6] + 5.8 x[7] + 0.4 x[8] + 2.7 x[9] - 0.2 x[10] + 14.4 x[11] + 0.3 x[12] + 2 x[13] + 3.7 x[14] + 2.5 x[15] + 6.9 x[16] + 5.8 x[17] + 1.2 x[18] + 3.6 x[19] + 1.6 x[20] + 1.7 x[21] + x[22] + 3.6 x[23] + 1.2 x[24] + 0.3 x[25] + 3.7 x[26] + 2.4 x[27] + 0.7 x[28] + 7.6 x[29] + 4.5 x[30] + 2.5 x[31] + 1.6 x[32] + 0.9 x[33] + 0.5 x[34] + 4 x[35] + 4.8 x[36] + 2.8 x[37] + 2 x[38] + 4.5 x[39] + 8.2 x[40] + 2.7 x[41] + 6.8 x[42] + 1.4 x[43] - 0.1 x[44] + 3.5 x[45] + 0.7 x[46] + 0.3 x[47] + 0.1 x[48] + 2.9 x[49] + 2.9 x[50] + 0.8 x[51] + 6.5 x[52] + 1.5 x[54] + 3 x[55] + 2.1 x[56] + 0.6 x[57] + 2.6 x[58] + 5.6 x[59] + 3.1 x[60] + 1.9 x[61] + 1.5 x[62] + 0.1 x[63] + 7.9 x[64] + 1.5 x[65] + 4 x[66] + 10.8 x[67] + 3.1 x[68] + 1.9 x[70] + 1.9 x[71] + 0.8 x[72] + x[73] + 6.7 x[74] + 2.1 x[75] + 1.5 x[76] - 0.2 x[77] + x[78] + 1.8 x[79] + 6 x[80] + 2.9 x[81] + 8 x[82] + 3.9 x[83] + 1.8 x[84] + 2.4 x[85] + 2.5 x[86] + 0.8 x[87] + 3 x[88] + 4.4 x[89] + 2.4 x[90] + 9.7 x[91] + 0.3 x[92] + 9.5 x[93] + 5.7 x[94] + 4 x[95] + 0.5 x[96] + 0.8 x[97] + 6.3 x[98] + 2.6 x[99] + 0.8 x[100] + 2.8 x[101] + 4.8 x[102] + 0.6 x[103] + 4.9 x[104] + 1.5 x[105] + 1.6 x[106] + 10 x[107] + 1.8 x[108] + 0.6 x[109] + 11.5 x[110] + 2.6 x[111] + 8.7 x[112] + 2.6 x[113] - 0.1 x[114] + x[115] + 7.9 x[116] + 1.4 x[117] + 2.8 x[118] + 1.9 x[119] + 3.3 x[120] + 3.8 x[121] + 3.2 x[122] + 5.6 x[123] - 0.1 x[124] + 2 x[125] + 0.3 x[126] + 8.2 x[127] + 3.4 x[128] + 6 x[129] + 1.1 x[130] + 4.4 x[131] + 11.9 x[132] + 5.1 x[133] + x[134] + 3.3 x[135] + 14.4 x[136] + 5.1 x[138] + 2.6 x[139] + 0.5 x[140] + 0.5 x[141] + 7.3 x[142] + 5.9 x[143] + 4.3 x[144] + 1.9 x[145] + 2.9 x[146] + 3.6 x[147] + 8 x[148] + 1.8 x[149] + 15.2 x[150] + 3.4 x[151] + 8.7 x[152] + 2.6 x[153] + 5.5 x[154] + 7.1 x[155] + 1.4 x[156] + 2.1 x[157] + 0.5 x[158] - 0.1 x[159] + 4.9 x[160] + 0.6 x[161] + 3 x[162] + 2.6 x[163] - 0.1 x[164] + 5.9 x[165] + 1.4 x[166] + 2.8 x[167] + 0.5 x[168] + 0.9 x[169] + 5.4 x[170] + 2.1 x[171] + 1.2 x[172] + 4.3 x[173] + 2.6 x[174] + 7.5 x[175] + 2.3 x[176] + 0.6 x[177] + 1.5 x[178] + 0.6 x[179] + 6.1 x[180] + 4.2 x[181] + 3 x[182] + 6 x[183] + 2 x[184] + 9.1 x[185] + 4 x[186] + 1.9 x[187] + 0.2 x[188] + 0.4 x[189] + 3.3 x[190] - 1.7 x[191] + 2.9 x[192] + 5 x[193] + 7.2 x[194] + 0.4 x[195] + 1.5 x[197] + 0.5 x[198] + 2.3 x[199] + 11.8 x[200] + 1.5 x[201] + 2.9 x[202] + 0.2 x[203] + 3 x[204] + 7.1 x[205] + 3.5 x[206] + 1.8 x[207] + 5.4 x[208] + 2.5 x[209] + 2.5 x[210] + 3.5 x[211] - 1.3 x[213] + 1.1 x[214] + 1.4 x[215] + 2.3 x[216] + 1.6 x[217] + 3.1 x[218] + 0.3 x[219] + 5.3 x[220] + 2.8 x[221] + 3.1 x[222] + 1.6 x[223] + 0.4 x[224] + 0.7 x[225] + 3.2 x[226] + 9.5 x[227] + 3 x[228] + 0.9 x[229] + 1.7 x[230] + 12.1 x[231] + 2 x[232] + 6 x[233] + 6.7 x[234] + 2.7 x[235] + 1.3 x[236] + 6.6 x[237] + 0.2 x[238] + 0.2 x[239] + 1.2 x[240] + x[242] + 2 x[243] + 3 x[244] + 2.7 x[245] + 2.7 x[247] + 0.5 x[248] + 5.6 x[249] + 2.9 x[250] + 2.9 x[251] + 5.9 x[252] + 1.9 x[253] + 2.1 x[254] + 0.2 x[255] + 0.5 x[256] - 0.3 x[258] + 6.1 x[259] + 0.7 x[260] + 1.6 x[261] + 0.2 x[262] + 3.5 x[263] + 6.1 x[264] + 0.3 x[265] + 5 x[266] + 0.3 x[267] + 1.7 x[268] + 4.5 x[269] + 1.6 x[270] + 6.2 x[271] + 0.8 x[272] + 5.1 x[273] - 0.1 x[274] + 2.5 x[275] - 0.1 x[276] + 0.9 x[277] + 4.9 x[278] + 2 x[279] + 1.1 x[280] + 1.3 x[281] + 2.2 x[282] + 4.3 x[283] - 0.8 x[284] + 7.8 x[285] + 1.4 x[286] + 3.3 x[287] + x[288] + 0.7 x[289] + 2.2 x[290] - 0.5 x[291] + 1.2 x[292] + 2.3 x[293] + 4.7 x[294] + 1.5 x[295] + 2.2 x[296] + 1.4 x[297] + 1.1 x[299] + 6.6 x[301] + 0.5 x[302] + 1.5 x[303] + 0.1 x[304] + 5.8 x[306] + 0.5 x[307] + 5.1 x[308] + 3.2 x[309] + 1.6 x[310] + 7.5 x[311] + 2.4 x[312] + 2.1 x[313] + 6.1 x[314] + 5.9 x[315] + 5.6 x[316] + 1.2 x[317] + 0.2 x[318] + 0.7 x[319] + 0.1 x[320] + 6.1 x[321] + 1.3 x[322] + 3 x[323] + 4.3 x[324] + 3.2 x[325] + 3.7 x[326] + 5 x[327] + 7.6 x[328] + 0.5 x[329] + 3.5 x[330] + 4.7 x[331] + 2.9 x[332] + 1.6 x[333] + 1.5 x[334] - 0.6 x[335] + 3.6 x[336] + 1.4 x[337] + 9.3 x[338] + 8.2 x[339] + 0.3 x[340] + 0.1 x[341] + 5.3 x[342] + 1.7 x[344] - 0.2 x[345] + 0.1 x[346] + 3.2 x[347] + 1.2 x[348] + 0.1 x[349] - 0.2 x[350] + 5 x[351] + 2.2 x[352] + 2.2 x[353] + 3.5 x[354] - 0.3 x[355] + 5.3 x[357] + 2.6 x[358] + 1.2 x[359] + 10.4 x[360] - 0.2 x[361] + 0.9 x[362] + 5 x[363] + 2 x[364] + 6.3 x[365] + 4.2 x[367] + 0.1 x[368] + 4.3 x[369] + 3.2 x[370] + 10.1 x[371] + 0.2 x[372] + 1.2 x[373] + 7.4 x[374] + 1.2 x[376] + 1.5 x[377] + x[378] + 2.1 x[379] + 6.8 x[380] + 3.6 x[381] + 6.3 x[382] + 0.6 x[383] + x[384] + 1.2 x[385] + 5.1 x[386] + 3.8 x[387] + 1.2 x[388] + 0.4 x[389] + 1.7 x[390] + 2.8 x[391] + 0.8 x[392] + 4.3 x[393] + 0.5 x[394] + 6.9 x[395] + 3.3 x[396] + 3.9 x[397] + 2 x[398] + 3.2 x[399]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] + x[139] + x[140] + x[141] + x[142] + x[143] + x[144] + x[145] + x[146] + x[147] + x[148] + x[149] + x[150] + x[151] + x[152] + x[153] + x[154] + x[155] + x[156] + x[157] + x[158] + x[159] + x[160] + x[161] + x[162] + x[163] + x[164] + x[165] + x[166] + x[167] + x[168] + x[169] + x[170] + x[171] + x[172] + x[173] + x[174] + x[175] + x[176] + x[177] + x[178] + x[179] + x[180] + x[181] + x[182] + x[183] + x[184] + x[185] + x[186] + x[187] + x[188] + x[189] + x[190] + x[191] + x[192] + x[193] + x[194] + x[195] + x[196] + x[197] + x[198] + x[199] + x[200] + x[201] + x[202] + x[203] + x[204] + x[205] + x[206] + x[207] + x[208] + x[209] + x[210] + x[211] + x[212] + x[213] + x[214] + x[215] + x[216] + x[217] + x[218] + x[219] + x[220] + x[221] + x[222] + x[223] + x[224] + x[225] + x[226] + x[227] + x[228] + x[229] + x[230] + x[231] + x[232] + x[233] + x[234] + x[235] + x[236] + x[237] + x[238] + x[239] + x[240] + x[241] + x[242] + x[243] + x[244] + x[245] + x[246] + x[247] + x[248] + x[249] + x[250] + x[251] + x[252] + x[253] + x[254] + x[255] + x[256] + x[257] + x[258] + x[259] + x[260] + x[261] + x[262] + x[263] + x[264] + x[265] + x[266] + x[267] + x[268] + x[269] + x[270] + x[271] + x[272] + x[273] + x[274] + x[275] + x[276] + x[277] + x[278] + x[279] + x[280] + x[281] + x[282] + x[283] + x[284] + x[285] + x[286] + x[287] + x[288] + x[289] + x[290] + x[291] + x[292] + x[293] + x[294] + x[295] + x[296] + x[297] + x[298] + x[299] + x[300] + x[301] + x[302] + x[303] + x[304] + x[305] + x[306] + x[307] + x[308] + x[309] + x[310] + x[311] + x[312] + x[313] + x[314] + x[315] + x[316] + x[317] + x[318] + x[319] + x[320] + x[321] + x[322] + x[323] + x[324] + x[325] + x[326] + x[327] + x[328] + x[329] + x[330] + x[331] + x[332] + x[333] + x[334] + x[335] + x[336] + x[337] + x[338] + x[339] + x[340] + x[341] + x[342] + x[343] + x[344] + x[345] + x[346] + x[347] + x[348] + x[349] + x[350] + x[351] + x[352] + x[353] + x[354] + x[355] + x[356] + x[357] + x[358] + x[359] + x[360] + x[361] + x[362] + x[363] + x[364] + x[365] + x[366] + x[367] + x[368] + x[369] + x[370] + x[371] + x[372] + x[373] + x[374] + x[375] + x[376] + x[377] + x[378] + x[379] + x[380] + x[381] + x[382] + x[383] + x[384] + x[385] + x[386] + x[387] + x[388] + x[389] + x[390] + x[391] + x[392] + x[393] + x[394] + x[395] + x[396] + x[397] + x[398] + x[399] == 8.0
 x[1] + x[14] + x[16] + x[20] + x[22] + x[36] + x[40] + x[44] + x[58] + x[61] + x[69] + x[72] + x[73] + x[82] + x[84] + x[91] + x[96] + x[102] + x[106] + x[109] + x[115] + x[119] + x[123] + x[125] + x[135] + x[137] + x[140] + x[150] + x[167] + x[169] + x[185] + x[188] + x[189] + x[193] + x[199] + x[204] + x[206] + x[212] + x[231] + x[232] + x[237] + x[250] + x[257] + x[263] + x[271] + x[272] + x[273] + x[279] + x[280] + x[284] + x[291] + x[301] + x[302] + x[303] + x[304] + x[322] + x[323] + x[325] + x[326] + x[327] + x[331] + x[332] + x[335] + x[339] + x[343] + x[344] + x[349] + x[352] + x[364] + x[366] + x[369] + x[374] + x[376] + x[378] + x[380] + x[381] + x[393] + x[396] >= 1.0
 x[2] + x[3] + x[4] + x[6] + x[17] + x[21] + x[27] + x[32] + x[37] + x[38] + x[48] + x[59] + x[67] + x[71] + x[74] + x[75] + x[81] + x[85] + x[93] + x[94] + x[95] + x[101] + x[107] + x[112] + x[116] + x[117] + x[129] + x[130] + x[136] + x[152] + x[159] + x[161] + x[163] + x[166] + x[173] + x[175] + x[177] + x[180] + x[200] + x[201] + x[205] + x[207] + x[208] + x[226] + x[228] + x[233] + x[234] + x[235] + x[242] + x[243] + x[244] + x[252] + x[278] + x[282] + x[283] + x[285] + x[288] + x[290] + x[300] + x[306] + x[307] + x[308] + x[311] + x[321] + x[328] + x[354] + x[358] + x[360] + x[365] + x[367] + x[371] + x[372] + x[382] + x[384] + x[388] + x[397] + x[398] + x[399] >= 1.0
 x[5] + x[18] + x[28] + x[29] + x[30] + x[31] + x[33] + x[41] + x[45] + x[47] + x[51] + x[52] + x[54] + x[55] + x[56] + x[60] + x[62] + x[63] + x[66] + x[79] + x[83] + x[87] + x[90] + x[92] + x[98] + x[100] + x[103] + x[104] + x[105] + x[111] + x[114] + x[118] + x[121] + x[122] + x[124] + x[126] + x[128] + x[139] + x[141] + x[143] + x[145] + x[149] + x[153] + x[154] + x[156] + x[157] + x[165] + x[170] + x[171] + x[174] + x[178] + x[191] + x[209] + x[214] + x[216] + x[220] + x[221] + x[224] + x[225] + x[241] + x[248] + x[249] + x[253] + x[255] + x[256] + x[265] + x[266] + x[267] + x[268] + x[274] + x[286] + x[292] + x[293] + x[305] + x[312] + x[315] + x[316] + x[317] + x[320] + x[324] + x[336] + x[337] + x[340] + x[341] + x[342] + x[345] + x[346] + x[353] + x[355] + x[356] + x[357] + x[361] + x[362] + x[373] + x[375] + x[386] >= 1.0
 x[7] + x[10] + x[11] + x[12] + x[19] + x[23] + x[34] + x[35] + x[39] + x[43] + x[46] + x[68] + x[70] + x[76] + x[77] + x[78] + x[80] + x[99] + x[108] + x[131] + x[133] + x[134] + x[138] + x[142] + x[144] + x[146] + x[147] + x[148] + x[155] + x[158] + x[160] + x[162] + x[182] + x[183] + x[186] + x[190] + x[195] + x[196] + x[197] + x[210] + x[211] + x[213] + x[215] + x[218] + x[219] + x[223] + x[229] + x[236] + x[239] + x[240] + x[245] + x[246] + x[258] + x[264] + x[269] + x[270] + x[275] + x[281] + x[289] + x[294] + x[297] + x[299] + x[310] + x[313] + x[314] + x[318] + x[330] + x[333] + x[338] + x[348] + x[350] + x[359] + x[363] + x[368] + x[370] + x[387] + x[390] + x[392] + x[394] + x[395] >= 1.0
 x[8] + x[9] + x[13] + x[15] + x[24] + x[25] + x[26] + x[42] + x[49] + x[50] + x[53] + x[57] + x[64] + x[65] + x[86] + x[88] + x[89] + x[97] + x[110] + x[113] + x[120] + x[127] + x[132] + x[151] + x[164] + x[168] + x[172] + x[176] + x[179] + x[181] + x[184] + x[187] + x[192] + x[194] + x[198] + x[202] + x[203] + x[217] + x[222] + x[227] + x[230] + x[238] + x[247] + x[251] + x[254] + x[259] + x[260] + x[261] + x[262] + x[276] + x[277] + x[287] + x[295] + x[296] + x[298] + x[309] + x[319] + x[329] + x[334] + x[347] + x[351] + x[377] + x[379] + x[383] + x[385] + x[389] + x[391] >= 1.0
 100000 x[1] + 2.5842697e7 x[2] + 3.45408e6 x[3] + 2.6e7 x[4] + 2.4294e6 x[5] + 2.37684e6 x[6] + 9.258e6 x[7] + 98144 x[8] + 9.07305e6 x[9] + 5.714583e6 x[10] + 2.5842697e7 x[11] + 2.159029e6 x[12] + 2.2818e6 x[13] + 3.0e6 x[14] + 1.22e7 x[15] + 7.25e6 x[16] + 9.56292e6 x[17] + 1.61852e6 x[18] + 8.55612e6 x[19] + 8.71932e6 x[20] + 5.6976e6 x[21] + 2.564753e6 x[22] + 2.4147727e7 x[23] + 1.296e7 x[24] + 1.416852e6 x[25] + 2.5565217e7 x[26] + 5.45328e6 x[27] + 1.9269662e7 x[28] + 2.7093019e7 x[29] + 2.731714e6 x[30] + 5.846154e6 x[31] + 1.620564e6 x[32] + 2.603982e6 x[33] + 1.678854e6 x[34] + 7.0e6 x[35] + 1.2345679e7 x[36] + 3.0e6 x[37] + 1.7e7 x[38] + 6.825e6 x[39] + 1.5625e7 x[40] + 8.529386e6 x[41] + 1.7e7 x[42] + 1.780128e6 x[43] + 1.416852e6 x[44] + 2.725e7 x[45] + 1.588231e6 x[46] + 6.767e6 x[47] + 1.96236e6 x[48] + 4.161e6 x[49] + 3.7554e6 x[50] + 1.443842e6 x[51] + 2.0e7 x[52] + 1.61852e6 x[53] + 1.416852e6 x[54] + 6.534829e6 x[55] + 1.61852e6 x[56] + 3.21948e6 x[57] + 1.416582e6 x[58] + 7.936508e6 x[59] + 4.0e6 x[60] + 2.028594e6 x[61] + 2.320044e6 x[62] + 1.416852e6 x[63] + 3.2742e7 x[64] + 1.845301e6 x[65] + 8.089282e6 x[66] + 1.6456522e7 x[67] + 7.0e6 x[68] + 1.416852e6 x[69] + 2.564753e6 x[70] + 5.2014e6 x[71] + 2.028594e6 x[72] + 2.75e6 x[73] + 2.177483e6 x[74] + 2.564753e6 x[75] + 2.564753e6 x[76] + 1.413272e6 x[77] + 1.427191e6 x[78] + 1.34375e7 x[79] + 2.68656e6 x[80] + 4.2402e6 x[81] + 3.2511623e7 x[82] + 1.72305e6 x[83] + 3.0e6 x[84] + 3.5e6 x[85] + 1.1301219e7 x[86] + 1.85e7 x[87] + 2.1e6 x[88] + 7.815533e6 x[89] + 7.44186e6 x[90] + 4.0231758e7 x[91] + 2.028594e6 x[92] + 2.7093019e7 x[93] + 4.767e6 x[94] + 1.3333334e7 x[95] + 9.6075e6 x[96] + 4.99e6 x[97] + 2.7739975e7 x[98] + 1.678854e6 x[99] + 1.416852e6 x[100] + 1.6229213e7 x[101] + 1.06e7 x[102] + 2.9058e6 x[103] + 7.68336e6 x[104] + 1.61852e6 x[105] + 1.92179e7 x[106] + 2.7093019e7 x[107] + 2.564753e6 x[108] + 5.348007e6 x[109] + 3.7199e7 x[110] + 7.804878e6 x[111] + 2.750463e7 x[112] + 1.882867e6 x[113] + 1.92588e6 x[114] + 9.6e6 x[115] + 1.765e7 x[116] + 8.1565e6 x[117] + 2.47584e6 x[118] + 3.15e6 x[119] + 4.0e6 x[120] + 2.875e6 x[121] + 1.7e7 x[122] + 6.39276e6 x[123] + 1.416852e6 x[124] + 1.882867e6 x[125] + 9.7452e6 x[126] + 2.2615559e7 x[127] + 7.333333e6 x[128] + 2.55957e7 x[129] + 7.664753e6 x[130] + 1.4e7 x[131] + 3.3005556e7 x[132] + 9.8e6 x[133] + 2.5788e6 x[134] + 3.95292e6 x[135] + 2.5008427e7 x[136] + 522738 x[137] + 1.9863636e7 x[138] + 1.405773e7 x[139] + 1.416852e6 x[140] + 1.678854e6 x[141] + 9.346153e6 x[142] + 1.4634146e7 x[143] + 1.853913e7 x[144] + 2.564753e6 x[145] + 4.767e6 x[146] + 2.564753e6 x[147] + 3.4234964e7 x[148] + 1.815e7 x[149] + 3.78e7 x[150] + 1.1511234e7 x[151] + 6.0e6 x[152] + 1.7839286e7 x[153] + 7.67e6 x[154] + 3.1034483e7 x[155] + 898310 x[156] + 1.93416e6 x[157] + 1.416852e6 x[158] + 2.564753e6 x[159] + 3.270069e7 x[160] + 9.732396e6 x[161] + 3.32103e6 x[162] + 1.676735e6 x[163] + 1.737145e6 x[164] + 4.861208e6 x[165] + 2.564753e6 x[166] + 1.0133907e7 x[167] + 1.3258781e7 x[168] + 2.2392e6 x[169] + 2.6131111e7 x[170] + 4.767e6 x[171] + 2.5e6 x[172] + 4.767e6 x[173] + 5.718e6 x[174] + 2.8e7 x[175] + 3.54e6 x[176] + 5.60385e6 x[177] + 2.63628e6 x[178] + 2.33232e6 x[179] + 2.3271604e7 x[180] + 1.7185185e7 x[181] + 7.0e6 x[182] + 1.1954546e7 x[183] + 7.265485e6 x[184] + 3.1742e7 x[185] + 5.80644e6 x[186] + 1.61852e6 x[187] + 92857 x[188] + 1.61852e6 x[189] + 6.92748e6 x[190] + 7.05948e6 x[191] + 3.28092e6 x[192] + 1.8086956e7 x[193] + 3.7436858e7 x[194] + 1.445697e6 x[195] + 1.416852e6 x[196] + 1.53494e7 x[197] + 3.623e6 x[198] + 1.924537e7 x[199] + 2.6573595e7 x[200] + 2.305057e6 x[201] + 1.645357e6 x[202] + 199000 x[203] + 8.408e6 x[204] + 9.881598e6 x[205] + 1.2e7 x[206] + 4.767e6 x[207] + 4.767e6 x[208] + 3.82716e6 x[209] + 1.3810763e7 x[210] + 8.0e6 x[211] + 1.564375e7 x[212] + 4.38012e6 x[213] + 1.620564e6 x[214] + 2.195122e6 x[215] + 6.004753e6 x[216] + 1.699236e6 x[217] + 1.9746e6 x[218] + 2.338847e6 x[219] + 1.05e7 x[220] + 1.95e7 x[221] + 3.581986e6 x[222] + 2.81328e6 x[223] + 1.275967e7 x[224] + 842327 x[225] + 4.16e6 x[226] + 3.2742e7 x[227] + 1.1286515e7 x[228] + 3.169348e6 x[229] + 2.625718e6 x[230] + 2.9802321e7 x[231] + 666667 x[232] + 4.62963e6 x[233] + 1.2093024e7 x[234] + 4.767e6 x[235] + 2.89e7 x[236] + 3.3296296e7 x[237] + 844070 x[238] + 50000 x[239] + 5.5e6 x[240] + 81678 x[241] + 1.5450051e7 x[242] + 3.569643e6 x[243] + 3.5e6 x[244] + 5.3004e6 x[245] + 100000 x[246] + 2.564753e6 x[247] + 4.0e6 x[248] + 2.7556959e7 x[249] + 3.5e6 x[250] + 7.333334e6 x[251] + 4.0e6 x[252] + 4.62963e6 x[253] + 2.253031e6 x[254] + 2.028594e6 x[255] + 1.645357e6 x[256] + 1.416852e6 x[257] + 1.416852e6 x[258] + 3.0603448e7 x[259] + 8.730158e6 x[260] + 7.25e6 x[261] + 1.588231e6 x[262] + 1.2428571e7 x[263] + 3.05e7 x[264] + 1.445697e6 x[265] + 3.63576e6 x[266] + 4.0284e6 x[267] + 8.664928e6 x[268] + 1.5e7 x[269] + 3.2e6 x[270] + 1.588231e6 x[271] + 1.737145e6 x[272] + 4.444746e6 x[273] + 1.9116e6 x[274] + 2.028594e6 x[275] + 1.416852e6 x[276] + 1.61852e6 x[277] + 1.2727273e7 x[278] + 1.882867e6 x[279] + 1.737145e6 x[280] + 1.783557e6 x[281] + 6.431666e6 x[282] + 2.028594e6 x[283] + 4.8558e6 x[284] + 1.2e7 x[285] + 1.678854e6 x[286] + 1.61852e6 x[287] + 2.028594e6 x[288] + 1.61852e6 x[289] + 1.702486e6 x[290] + 1.416852e6 x[291] + 2.53068e6 x[292] + 2.1e7 x[293] + 1.1667885e7 x[294] + 2.907143e6 x[295] + 1.5625e7 x[296] + 6.5e6 x[297] + 2.5102511e7 x[298] + 3.06866e6 x[299] + 1.620564e6 x[300] + 3.8506482e7 x[301] + 150000 x[302] + 8.0e6 x[303] + 1.090781e6 x[304] + 1.445697e6 x[305] + 1.4041096e7 x[306] + 1.25e7 x[307] + 3.754886e6 x[308] + 2.7250576e7 x[309] + 1.5e7 x[310] + 1.0259375e7 x[311] + 1.0116576e7 x[312] + 371758 x[313] + 1.8e7 x[314] + 1.34863e7 x[315] + 1.01e7 x[316] + 2.174318e6 x[317] + 1.416852e6 x[318] + 1.882867e6 x[319] + 3.56772e6 x[320] + 1.559712e6 x[321] + 2.564753e6 x[322] + 7.317073e6 x[323] + 1.25e7 x[324] + 1.9894737e7 x[325] + 1.6190476e7 x[326] + 2.7285e7 x[327] + 3.529555e6 x[328] + 1.737145e6 x[329] + 3.481986e6 x[330] + 1.0e7 x[331] + 1.55e7 x[332] + 4.767e6 x[333] + 2.564753e6 x[334] + 4.76496e6 x[335] + 1.99512e6 x[336] + 419443 x[337] + 2.351839e6 x[338] + 8.11393e6 x[339] + 1.0e6 x[340] + 2.14956e6 x[341] + 1.2553471e7 x[342] + 4.46364e6 x[343] + 5.853659e6 x[344] + 1.456667e6 x[345] + 3.0588e6 x[346] + 1.1392857e7 x[347] + 1.8978e6 x[348] + 2.0e6 x[349] + 2.03316e6 x[350] + 7.83e6 x[351] + 1.9e7 x[352] + 4.767e6 x[353] + 5.0e6 x[354] + 2.320044e6 x[355] + 838464 x[356] + 3.2742e7 x[357] + 1.853913e7 x[358] + 2.564753e6 x[359] + 2.725e7 x[360] + 1.416852e6 x[361] + 3.5511e6 x[362] + 8.349039e6 x[363] + 1.8606557e7 x[364] + 1.8e7 x[365] + 50000 x[366] + 1.6e7 x[367] + 1.416852e6 x[368] + 9.0e6 x[369] + 2.0e6 x[370] + 2.8e7 x[371] + 2.06352e6 x[372] + 1.21e7 x[373] + 3.2742e7 x[374] + 2.76048e6 x[375] + 3.78e7 x[376] + 3.481986e6 x[377] + 1.445697e6 x[378] + 1.081e7 x[379] + 3.8178e7 x[380] + 1.94808e6 x[381] + 2.7093018e7 x[382] + 2.727e7 x[383] + 106181 x[384] + 1.416852e6 x[385] + 8.0e6 x[386] + 1.5962599e7 x[387] + 1.93752e6 x[388] + 122741 x[389] + 2.96112e6 x[390] + 1.3e7 x[391] + 1.645357e6 x[392] + 9.473684e6 x[393] + 3.11724e6 x[394] + 1.29e7 x[395] + 6.273e6 x[396] + 1.447191e7 x[397] + 2.2818e6 x[398] + 6.481482e6 x[399] <= 1.02e8
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
 x[139] binary
 x[140] binary
 x[141] binary
 x[142] binary
 x[143] binary
 x[144] binary
 x[145] binary
 x[146] binary
 x[147] binary
 x[148] binary
 x[149] binary
 x[150] binary
 x[151] binary
 x[152] binary
 x[153] binary
 x[154] binary
 x[155] binary
 x[156] binary
 x[157] binary
 x[158] binary
 x[159] binary
 x[160] binary
 x[161] binary
 x[162] binary
 x[163] binary
 x[164] binary
 x[165] binary
 x[166] binary
 x[167] binary
 x[168] binary
 x[169] binary
 x[170] binary
 x[171] binary
 x[172] binary
 x[173] binary
 x[174] binary
 x[175] binary
 x[176] binary
 x[177] binary
 x[178] binary
 x[179] binary
 x[180] binary
 x[181] binary
 x[182] binary
 x[183] binary
 x[184] binary
 x[185] binary
 x[186] binary
 x[187] binary
 x[188] binary
 x[189] binary
 x[190] binary
 x[191] binary
 x[192] binary
 x[193] binary
 x[194] binary
 x[195] binary
 x[196] binary
 x[197] binary
 x[198] binary
 x[199] binary
 x[200] binary
 x[201] binary
 x[202] binary
 x[203] binary
 x[204] binary
 x[205] binary
 x[206] binary
 x[207] binary
 x[208] binary
 x[209] binary
 x[210] binary
 x[211] binary
 x[212] binary
 x[213] binary
 x[214] binary
 x[215] binary
 x[216] binary
 x[217] binary
 x[218] binary
 x[219] binary
 x[220] binary
 x[221] binary
 x[222] binary
 x[223] binary
 x[224] binary
 x[225] binary
 x[226] binary
 x[227] binary
 x[228] binary
 x[229] binary
 x[230] binary
 x[231] binary
 x[232] binary
 x[233] binary
 x[234] binary
 x[235] binary
 x[236] binary
 x[237] binary
 x[238] binary
 x[239] binary
 x[240] binary
 x[241] binary
 x[242] binary
 x[243] binary
 x[244] binary
 x[245] binary
 x[246] binary
 x[247] binary
 x[248] binary
 x[249] binary
 x[250] binary
 x[251] binary
 x[252] binary
 x[253] binary
 x[254] binary
 x[255] binary
 x[256] binary
 x[257] binary
 x[258] binary
 x[259] binary
 x[260] binary
 x[261] binary
 x[262] binary
 x[263] binary
 x[264] binary
 x[265] binary
 x[266] binary
 x[267] binary
 x[268] binary
 x[269] binary
 x[270] binary
 x[271] binary
 x[272] binary
 x[273] binary
 x[274] binary
 x[275] binary
 x[276] binary
 x[277] binary
 x[278] binary
 x[279] binary
 x[280] binary
 x[281] binary
 x[282] binary
 x[283] binary
 x[284] binary
 x[285] binary
 x[286] binary
 x[287] binary
 x[288] binary
 x[289] binary
 x[290] binary
 x[291] binary
 x[292] binary
 x[293] binary
 x[294] binary
 x[295] binary
 x[296] binary
 x[297] binary
 x[298] binary
 x[299] binary
 x[300] binary
 x[301] binary
 x[302] binary
 x[303] binary
 x[304] binary
 x[305] binary
 x[306] binary
 x[307] binary
 x[308] binary
 x[309] binary
 x[310] binary
 x[311] binary
 x[312] binary
 x[313] binary
 x[314] binary
 x[315] binary
 x[316] binary
 x[317] binary
 x[318] binary
 x[319] binary
 x[320] binary
 x[321] binary
 x[322] binary
 x[323] binary
 x[324] binary
 x[325] binary
 x[326] binary
 x[327] binary
 x[328] binary
 x[329] binary
 x[330] binary
 x[331] binary
 x[332] binary
 x[333] binary
 x[334] binary
 x[335] binary
 x[336] binary
 x[337] binary
 x[338] binary
 x[339] binary
 x[340] binary
 x[341] binary
 x[342] binary
 x[343] binary
 x[344] binary
 x[345] binary
 x[346] binary
 x[347] binary
 x[348] binary
 x[349] binary
 x[350] binary
 x[351] binary
 x[352] binary
 x[353] binary
 x[354] binary
 x[355] binary
 x[356] binary
 x[357] binary
 x[358] binary
 x[359] binary
 x[360] binary
 x[361] binary
 x[362] binary
 x[363] binary
 x[364] binary
 x[365] binary
 x[366] binary
 x[367] binary
 x[368] binary
 x[369] binary
 x[370] binary
 x[371] binary
 x[372] binary
 x[373] binary
 x[374] binary
 x[375] binary
 x[376] binary
 x[377] binary
 x[378] binary
 x[379] binary
 x[380] binary
 x[381] binary
 x[382] binary
 x[383] binary
 x[384] binary
 x[385] binary
 x[386] binary
 x[387] binary
 x[388] binary
 x[389] binary
 x[390] binary
 x[391] binary
 x[392] binary
 x[393] binary
 x[394] binary
 x[395] binary
 x[396] binary
 x[397] binary
 x[398] binary
 x[399] binary
Error: dual simplex failed
Warning: basis matrix is ill-conditioned (cond = 2.75e+013)
Out[16]:
true
In [17]:
println("Objective value: ", objective_value(model))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 78.39999999999999
Optimal solution is x = 
[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [18]:
players[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :Salary]]
Out[18]:

8 rows × 4 columns

PlayerPosWSSalary
StringStringFloat64Int64
1Jarrett Allen\\allenja01C7.62376840
2Giannis Antetokounmpo\\antetgi01PF14.425842697
3Paul George\\georgpa01SF11.933005556
4Rudy Gobert\\goberru01C14.425008427
5Montrezl Harrell\\harremo01C8.76000000
6Buddy Hield\\hieldbu01SG5.94861208
7Monte Morris\\morrimo01PG6.21588231
8Pascal Siakam\\siakapa01PF9.32351839
In [19]:
sum(players[JuMP.value.(x) .== 1.0, :Salary])
Out[19]:
101034798

Model 2 - Maximize Weighted Avg. of WS, BPM and VORP

Maximize chances of winnings , that is weighted average of WS, VORP and BPM with coefficients from the linear regression model

In [20]:
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface


model_2  = Model(with_optimizer(GLPK.Optimizer))

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model_2, x[1:399], Bin)
 
# each cell must contain only one digit
@constraint(model_2, sum(x[i] for i in PG) >= 1)
@constraint(model_2, sum(x[i] for i in C) >= 1)
@constraint(model_2, sum(x[i] for i in SG) >= 1)
@constraint(model_2, sum(x[i] for i in PF) >= 1)
@constraint(model_2, sum(x[i] for i in SF) >= 1)
@constraint(model_2, sum(x[i] for i in 1:399) == 8)
@constraint(model_2, sum(x[i] .* players[i,:Salary] for i = 1:399) <=  102000000)  


# maximize combination of win shares, VORP, and BPM  
@objective(model_2, Max, sum(x[i] .* (ws_coef .* players[i,:WS] .+ vorp_coef .* players[i,:VORP] .+ bpm_coef .* players[i,:BPM])  for i = 1:399))
                    

println("The optimization problem to be solved is:")
print(model_2)

JuMP.optimize!(model_2)
term_status = JuMP.termination_status(model_2)
primal_status = JuMP.primal_status(model_2)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Max -8.465043829717548e-7 x[1] + 2.622831522483131e-6 x[2] + 2.1474513352618327e-6 x[3] + 2.382669937886846e-6 x[4] - 1.3422557224893747e-6 x[5] + 2.209620621472212e-6 x[6] + 1.4815554603975574e-6 x[7] - 5.394486579151694e-7 x[8] + 8.59078004965754e-7 x[9] - 1.295484723334595e-6 x[10] + 5.645871870091503e-6 x[11] - 1.0921966307389185e-6 x[12] + 1.9512187494057306e-7 x[13] + 5.87225253654436e-7 x[14] + 4.86739757290784e-7 x[15] + 1.3992041324682316e-6 x[16] + 1.2982312817994746e-6 x[17] - 4.5941442985421624e-7 x[18] + 3.7532314474932523e-7 x[19] + 4.999194005422119e-7 x[20] + 3.3624068132587e-7 x[21] + 7.599752048449506e-9 x[22] + 2.5012953537550785e-7 x[23] - 2.1129508294285378e-7 x[24] - 5.400952395282008e-7 x[25] + 1.0500019356122863e-6 x[26] + 5.59820814916319e-7 x[27] - 2.905235020828493e-7 x[28] + 2.39748054374284e-6 x[29] + 8.595161312387585e-7 x[30] + 9.216005140062189e-8 x[31] + 2.6853105956328656e-7 x[32] - 2.5123258331936727e-7 x[33] - 5.779337677576937e-7 x[34] + 1.1446681974586562e-6 x[35] + 1.611483596402621e-6 x[36] + 1.0765107770417424e-6 x[37] + 2.0405434586585975e-7 x[38] + 1.4452185507341538e-6 x[39] + 2.5980134101971394e-6 x[40] + 4.5783369998657775e-7 x[41] + 1.4667545269228886e-6 x[42] + 5.533549987860057e-7 x[43] - 8.466636102796811e-7 x[44] + 1.0006446100053812e-6 x[45] + 3.565722779714169e-7 x[46] - 5.132978267523405e-7 x[47] - 1.1334668499922686e-7 x[48] + 6.424510418107231e-7 x[49] + 5.161234965187694e-7 x[50] - 2.7981051362639486e-7 x[51] + 1.72300053583858e-6 x[52] - 1.1891307644215606e-6 x[53] - 8.529566464807867e-8 x[54] + 1.9038734830932697e-7 x[55] + 1.1863900956062926e-7 x[56] - 6.152849416820818e-7 x[57] + 1.5677186020678247e-8 x[58] + 1.5349910586413516e-6 x[59] + 4.883513751326994e-7 x[60] - 1.1177462280808604e-7 x[61] - 1.3335982702892107e-7 x[62] - 1.207483060577239e-6 x[63] + 2.451881178215518e-6 x[64] + 3.7294527363722677e-7 x[65] + 7.422899565613437e-7 x[66] + 2.954536460136456e-6 x[67] + 2.9609472560932987e-7 x[68] - 7.90154331278657e-7 x[69] + 7.934809079714714e-8 x[70] + 3.185349667832229e-7 x[71] + 1.772964887407742e-7 x[72] + 4.5597507585868914e-8 x[73] + 1.9277506913495713e-6 x[74] + 1.8570204971018143e-7 x[75] + 1.348923335692873e-7 x[76] - 1.2675533746405987e-6 x[77] - 1.455252060193644e-7 x[78] - 2.6359286502855598e-8 x[79] + 1.6057743611611652e-6 x[80] + 6.591820477431603e-7 x[81] + 2.5397236136649476e-6 x[82] + 1.1909518423083311e-6 x[83] - 2.1748200010808883e-7 x[84] + 1.2661811001129869e-6 x[85] + 1.0779728399570574e-6 x[86] - 3.2787467600723727e-7 x[87] + 6.408297515874819e-7 x[88] + 1.071259012835943e-6 x[89] + 2.446384278554044e-7 x[90] + 3.5957927947853167e-6 x[91] - 8.273462778951189e-7 x[92] + 3.974477186933449e-6 x[93] + 1.2863843574248842e-6 x[94] + 1.163667075227366e-6 x[95] - 1.0171758282742893e-6 x[96] + 5.3236815285093005e-8 x[97] + 1.6099819778365316e-6 x[98] + 2.1686630646933445e-7 x[99] - 7.760492074491197e-7 x[100] + 7.155320994362581e-7 x[101] + 9.855155495335337e-7 x[102] - 2.241070435463285e-7 x[103] + 2.1039721445856355e-6 x[104] - 1.624251116410537e-7 x[105] + 1.0647363057018601e-7 x[106] + 2.8477048192996426e-6 x[107] + 2.608917518640625e-7 x[108] - 2.140406367029055e-7 x[109] + 3.5090350672219235e-6 x[110] + 6.192445473666471e-7 x[111] + 2.8203003805615253e-6 x[112] + 4.1805542691799075e-7 x[113] - 1.3607672459529794e-6 x[114] - 5.936997374612468e-7 x[115] + 2.6508024268279017e-6 x[116] - 4.201235110907342e-7 x[117] + 1.890941850832644e-7 x[118] - 7.37768672706666e-8 x[119] + 7.970283904125261e-7 x[120] + 6.840001600291519e-7 x[121] + 3.7387075421533624e-7 x[122] + 1.5104615177017639e-6 x[123] - 2.4805670983887156e-6 x[124] - 5.4131407888925547e-8 x[125] - 5.400952395282008e-7 x[126] + 2.4236217025243427e-6 x[127] + 4.511594285162377e-7 x[128] + 2.0126883457310227e-6 x[129] + 3.5022613349825547e-7 x[130] + 1.195318686291624e-6 x[131] + 3.916267506407634e-6 x[132] + 1.322770495120388e-6 x[133] - 2.025218393254935e-7 x[134] + 6.819011878821316e-7 x[135] + 4.7527855985423434e-6 x[136] - 2.0809440836327804e-6 x[137] + 1.3932353430243489e-6 x[138] - 9.051754558442953e-8 x[139] - 7.58990074519504e-7 x[140] - 4.728729720707221e-7 x[141] + 1.6421112708245687e-6 x[142] + 1.9818425435877228e-6 x[143] + 1.436126852500941e-6 x[144] - 3.2303015010016537e-7 x[145] + 3.0486796922669005e-7 x[146] + 5.195156318918524e-7 x[147] + 2.8885070290105396e-6 x[148] - 1.2248761126454035e-7 x[149] + 6.205552802462547e-6 x[150] + 1.236917032542153e-6 x[151] + 2.8493656651736583e-6 x[152] + 1.7886855093191507e-7 x[153] + 1.4416179600210441e-6 x[154] + 1.671017328128775e-6 x[155] + 4.818383403799423e-8 x[156] + 3.399609436961316e-7 x[157] - 5.699562860130079e-9 x[158] - 2.718620038456655e-6 x[159] + 1.1784187806699346e-6 x[160] + 3.8499098097051824e-7 x[161] + 4.5863950890753534e-7 x[162] + 5.130498157615392e-7 x[163] - 8.39999011190667e-7 x[164] + 1.5794643026904102e-6 x[165] - 1.0494112402981968e-7 x[166] + 3.9028330553192065e-7 x[167] - 3.4881329861504096e-7 x[168] - 3.2722809439420603e-7 x[169] + 1.8847491825971538e-6 x[170] + 3.410948796142678e-7 x[171] - 3.6442004101066776e-7 x[172] + 1.2114031106110297e-6 x[173] + 3.4676063789387964e-8 x[174] + 2.727613419205024e-6 x[175] + 3.6805151969805427e-7 x[176] - 8.902017013693043e-7 x[177] - 5.6230380035945984e-8 x[178] - 7.494110219811858e-7 x[179] + 1.42423070009425e-6 x[180] + 1.3471504811333753e-6 x[181] + 3.6251118414585054e-7 x[182] + 1.772367533826811e-6 x[183] - 1.6925861041932002e-7 x[184] + 3.4767861025767347e-6 x[185] + 9.155477283160036e-7 x[186] - 1.598387851889285e-7 x[187] + 2.2927969645057908e-7 x[188] - 9.619597124993279e-7 x[189] + 7.478302921135475e-7 x[190] - 1.3868486381955848e-6 x[191] + 2.8586909145798033e-7 x[192] + 1.0259404042151521e-6 x[193] + 3.446636110078566e-6 x[194] + 4.876246775132908e-7 x[195] - 1.5489755061089087e-6 x[196] + 7.662532701830619e-10 x[197] - 4.158763387645931e-7 x[198] + 3.021224154666385e-7 x[199] + 4.857905294642741e-6 x[200] + 9.149802580045213e-7 x[201] + 6.68114518668447e-7 x[202] + 2.0134834775658267e-7 x[203] + 2.574503884588791e-7 x[204] + 2.082328039951374e-6 x[205] + 6.731279442647714e-7 x[206] + 2.027611826397971e-7 x[207] + 1.4487699134151635e-6 x[208] + 2.2628613169972602e-7 x[209] + 2.6428388723714546e-7 x[210] + 1.1034375338560803e-6 x[211] - 1.010342329496023e-6 x[212] - 1.6167845886405214e-6 x[213] - 2.0187525771246218e-7 x[214] + 4.583606099424572e-7 x[215] + 1.8699521293624396e-7 x[216] - 1.5171212318459934e-7 x[217] + 3.061611324527528e-7 x[218] - 2.8304342169155157e-7 x[219] + 1.1810051071220598e-6 x[220] + 6.608033379664016e-7 x[221] + 6.124110485883805e-7 x[222] + 1.3440497926418237e-7 x[223] - 4.6345314684033044e-7 x[224] - 5.665741976882081e-7 x[225] + 4.979304276710175e-7 x[226] + 3.17865317606411e-6 x[227] + 9.358793249615505e-7 x[228] - 4.032236054690449e-7 x[229] + 3.4630708816929294e-7 x[230] + 3.965624832014539e-6 x[231] + 1.1799242794759792e-7 x[232] + 2.0930805840586035e-6 x[233] + 2.1110748699476543e-6 x[234] + 3.61705375224893e-7 x[235] - 6.758995010543158e-8 x[236] + 2.1674249216407523e-6 x[237] - 9.60985003889118e-7 x[238] - 4.3568102545426044e-7 x[239] - 4.3148308116021983e-7 x[240] - 1.9948821657145186e-6 x[241] + 1.653222297373623e-8 x[242] + 2.901162637841216e-7 x[243] + 1.020807306961676e-6 x[244] + 1.6944872570152344e-7 x[245] - 2.0138810434832283e-6 x[246] + 2.7564345730663116e-7 x[247] - 1.196928294723883e-7 x[248] + 1.2880056476481255e-6 x[249] + 2.758026846145574e-7 x[250] + 1.707418889275859e-7 x[251] + 1.6911896974663956e-6 x[252] - 6.713827121114592e-9 x[253] - 7.248370404460392e-8 x[254] - 6.737339655221999e-7 x[255] - 6.147975873769768e-7 x[256] - 5.040372288298752e-7 x[257] - 1.8370323533967844e-6 x[258] + 1.5214929607740708e-6 x[259] - 5.386428489942116e-7 x[260] + 1.4128348832144567e-9 x[261] - 3.4068663661071196e-7 x[262] + 6.630615374213484e-7 x[263] + 1.865740632447118e-6 x[264] - 4.5403332160993887e-7 x[265] + 1.2673951520375004e-6 x[266] - 7.424182958949932e-7 x[267] - 9.406890826543901e-8 x[268] + 6.482606039466793e-7 x[269] - 2.478404479462841e-7 x[270] + 1.366746712483016e-6 x[271] - 3.1894220508195057e-7 x[272] + 1.1517805952020008e-6 x[273] - 2.005595154170973e-6 x[274] + 3.984099675362497e-7 x[275] - 1.142847119571886e-6 x[276] - 8.424656659856404e-7 x[277] + 1.994375605226119e-6 x[278] + 2.901162637841216e-7 x[279] - 8.788199110020398e-8 x[280] + 5.646972335024958e-8 x[281] + 7.965805917581957e-7 x[282] + 1.7467734958893103e-6 x[283] - 1.3206309626177653e-6 x[284] + 2.8536128374997994e-6 x[285] - 3.787808388026761e-8 x[286] + 7.578966989569704e-7 x[287] + 5.787000210278768e-7 x[288] - 7.096327489125989e-7 x[289] - 1.4840489125443481e-8 x[290] - 1.3097587468533844e-6 x[291] - 7.716900264374967e-8 x[292] + 1.0196830434248655e-6 x[293] + 1.2732539422055566e-6 x[294] - 1.1436094926021135e-7 x[295] + 4.15838864326613e-9 x[296] - 1.239400017985294e-7 x[297] - 8.471509645847861e-7 x[298] - 5.271240516167998e-7 x[299] - 3.799775553741941e-8 x[300] + 2.1081604164983505e-6 x[301] - 5.969326455264034e-7 x[302] + 1.6395761818142001e-7 x[303] + 2.86054465376291e-6 x[304] - 9.220125397414886e-7 x[305] + 2.1231205772809456e-6 x[306] + 8.929482598341841e-8 x[307] + 2.0011994316230594e-6 x[308] + 8.243131574934912e-7 x[309] - 2.668393257149938e-7 x[310] + 2.4850247354645395e-6 x[311] + 3.7876450815450864e-7 x[312] + 3.1869419409114934e-7 x[313] + 1.6556190410731752e-6 x[314] + 1.1066212138891367e-6 x[315] + 1.3852679083279463e-6 x[316] - 4.996800572279082e-7 x[317] - 7.687283543657484e-7 x[318] - 6.906338711438892e-7 x[319] - 8.174390983596221e-7 x[320] + 2.553102039875076e-6 x[321] - 3.852466549329895e-8 x[322] + 5.257025490570875e-7 x[323] + 8.783557816995418e-7 x[324] + 5.560609968952828e-7 x[325] + 8.174796587152248e-7 x[326] + 1.96042623905614e-6 x[327] + 2.4577399683835746e-6 x[328] - 1.867558696219404e-7 x[329] + 5.289354571222441e-7 x[330] + 8.898745790769538e-7 x[331] - 7.964532982004907e-8 x[332] - 2.1877516333415151e-7 x[333] + 4.4894078471206553e-7 x[334] - 1.3172089439752333e-6 x[335] + 5.675797942726949e-7 x[336] + 2.9184956269284564e-8 x[337] + 2.8253138061578503e-6 x[338] + 2.802604338400204e-6 x[339] - 9.234746026568034e-7 x[340] - 1.1974166537338161e-6 x[341] + 1.5945836907809318e-6 x[342] - 4.951047579045884e-7 x[343] - 2.1812858172112012e-7 x[344] - 1.0473653764232324e-6 x[345] - 7.5037605821007e-7 x[346] + 4.688651430588848e-7 x[347] + 6.588954858064126e-8 x[348] - 6.743805471352313e-7 x[349] - 1.5514026052531077e-6 x[350] + 9.108132016847576e-7 x[351] - 3.38393668941532e-8 x[352] + 2.4447920054747814e-7 x[353] + 1.2252293354754889e-6 x[354] - 1.742037964553236e-6 x[355] - 1.0080744576597505e-6 x[356] + 9.697495798299807e-7 x[357] + 6.382434251353567e-7 x[358] - 1.9229620517414417e-7 x[359] + 3.908836654048437e-6 x[360] - 2.016308142627427e-6 x[361] - 7.016749865975222e-7 x[362] + 1.4607857374790061e-6 x[363] + 6.099579464146882e-8 x[364] + 2.1464862990329484e-6 x[365] - 1.3489203215783887e-6 x[366] + 1.1436934888484465e-6 x[367] - 7.40309651366647e-7 x[368] + 9.353524150056709e-7 x[369] + 7.192523618065197e-7 x[370] + 3.733639137454683e-6 x[371] - 9.598510679709816e-7 x[372] - 1.2523316502459202e-7 x[373] + 2.4733168275097527e-6 x[374] - 8.460170286666499e-7 x[375] + 2.4807979126058785e-7 x[376] - 6.629678687936895e-8 x[377] - 2.2152071709420321e-7 x[378] + 9.96401317919196e-8 x[379] + 3.1345370761562077e-6 x[380] + 1.009089726625563e-6 x[381] + 1.510451845320438e-6 x[382] - 4.93493140062673e-7 x[383] - 1.2652632825065468e-7 x[384] + 2.2908091349187813e-7 x[385] + 1.1987108216647068e-6 x[386] + 9.343873787767869e-7 x[387] + 1.1220281686212342e-6 x[388] - 4.153889844594881e-7 x[389] + 4.005717203366513e-8 x[390] + 6.317380533542689e-7 x[391] - 4.798656981569149e-7 x[392] + 1.2807340225968544e-6 x[393] - 3.007491362341986e-7 x[394] + 2.2185627647788246e-6 x[395] + 4.997109452021849e-7 x[396] + 1.26694735338317e-6 x[397] - 2.2625524372544927e-7 x[398] + 6.219901011266987e-7 x[399]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] + x[139] + x[140] + x[141] + x[142] + x[143] + x[144] + x[145] + x[146] + x[147] + x[148] + x[149] + x[150] + x[151] + x[152] + x[153] + x[154] + x[155] + x[156] + x[157] + x[158] + x[159] + x[160] + x[161] + x[162] + x[163] + x[164] + x[165] + x[166] + x[167] + x[168] + x[169] + x[170] + x[171] + x[172] + x[173] + x[174] + x[175] + x[176] + x[177] + x[178] + x[179] + x[180] + x[181] + x[182] + x[183] + x[184] + x[185] + x[186] + x[187] + x[188] + x[189] + x[190] + x[191] + x[192] + x[193] + x[194] + x[195] + x[196] + x[197] + x[198] + x[199] + x[200] + x[201] + x[202] + x[203] + x[204] + x[205] + x[206] + x[207] + x[208] + x[209] + x[210] + x[211] + x[212] + x[213] + x[214] + x[215] + x[216] + x[217] + x[218] + x[219] + x[220] + x[221] + x[222] + x[223] + x[224] + x[225] + x[226] + x[227] + x[228] + x[229] + x[230] + x[231] + x[232] + x[233] + x[234] + x[235] + x[236] + x[237] + x[238] + x[239] + x[240] + x[241] + x[242] + x[243] + x[244] + x[245] + x[246] + x[247] + x[248] + x[249] + x[250] + x[251] + x[252] + x[253] + x[254] + x[255] + x[256] + x[257] + x[258] + x[259] + x[260] + x[261] + x[262] + x[263] + x[264] + x[265] + x[266] + x[267] + x[268] + x[269] + x[270] + x[271] + x[272] + x[273] + x[274] + x[275] + x[276] + x[277] + x[278] + x[279] + x[280] + x[281] + x[282] + x[283] + x[284] + x[285] + x[286] + x[287] + x[288] + x[289] + x[290] + x[291] + x[292] + x[293] + x[294] + x[295] + x[296] + x[297] + x[298] + x[299] + x[300] + x[301] + x[302] + x[303] + x[304] + x[305] + x[306] + x[307] + x[308] + x[309] + x[310] + x[311] + x[312] + x[313] + x[314] + x[315] + x[316] + x[317] + x[318] + x[319] + x[320] + x[321] + x[322] + x[323] + x[324] + x[325] + x[326] + x[327] + x[328] + x[329] + x[330] + x[331] + x[332] + x[333] + x[334] + x[335] + x[336] + x[337] + x[338] + x[339] + x[340] + x[341] + x[342] + x[343] + x[344] + x[345] + x[346] + x[347] + x[348] + x[349] + x[350] + x[351] + x[352] + x[353] + x[354] + x[355] + x[356] + x[357] + x[358] + x[359] + x[360] + x[361] + x[362] + x[363] + x[364] + x[365] + x[366] + x[367] + x[368] + x[369] + x[370] + x[371] + x[372] + x[373] + x[374] + x[375] + x[376] + x[377] + x[378] + x[379] + x[380] + x[381] + x[382] + x[383] + x[384] + x[385] + x[386] + x[387] + x[388] + x[389] + x[390] + x[391] + x[392] + x[393] + x[394] + x[395] + x[396] + x[397] + x[398] + x[399] == 8.0
 x[1] + x[14] + x[16] + x[20] + x[22] + x[36] + x[40] + x[44] + x[58] + x[61] + x[69] + x[72] + x[73] + x[82] + x[84] + x[91] + x[96] + x[102] + x[106] + x[109] + x[115] + x[119] + x[123] + x[125] + x[135] + x[137] + x[140] + x[150] + x[167] + x[169] + x[185] + x[188] + x[189] + x[193] + x[199] + x[204] + x[206] + x[212] + x[231] + x[232] + x[237] + x[250] + x[257] + x[263] + x[271] + x[272] + x[273] + x[279] + x[280] + x[284] + x[291] + x[301] + x[302] + x[303] + x[304] + x[322] + x[323] + x[325] + x[326] + x[327] + x[331] + x[332] + x[335] + x[339] + x[343] + x[344] + x[349] + x[352] + x[364] + x[366] + x[369] + x[374] + x[376] + x[378] + x[380] + x[381] + x[393] + x[396] >= 1.0
 x[2] + x[3] + x[4] + x[6] + x[17] + x[21] + x[27] + x[32] + x[37] + x[38] + x[48] + x[59] + x[67] + x[71] + x[74] + x[75] + x[81] + x[85] + x[93] + x[94] + x[95] + x[101] + x[107] + x[112] + x[116] + x[117] + x[129] + x[130] + x[136] + x[152] + x[159] + x[161] + x[163] + x[166] + x[173] + x[175] + x[177] + x[180] + x[200] + x[201] + x[205] + x[207] + x[208] + x[226] + x[228] + x[233] + x[234] + x[235] + x[242] + x[243] + x[244] + x[252] + x[278] + x[282] + x[283] + x[285] + x[288] + x[290] + x[300] + x[306] + x[307] + x[308] + x[311] + x[321] + x[328] + x[354] + x[358] + x[360] + x[365] + x[367] + x[371] + x[372] + x[382] + x[384] + x[388] + x[397] + x[398] + x[399] >= 1.0
 x[5] + x[18] + x[28] + x[29] + x[30] + x[31] + x[33] + x[41] + x[45] + x[47] + x[51] + x[52] + x[54] + x[55] + x[56] + x[60] + x[62] + x[63] + x[66] + x[79] + x[83] + x[87] + x[90] + x[92] + x[98] + x[100] + x[103] + x[104] + x[105] + x[111] + x[114] + x[118] + x[121] + x[122] + x[124] + x[126] + x[128] + x[139] + x[141] + x[143] + x[145] + x[149] + x[153] + x[154] + x[156] + x[157] + x[165] + x[170] + x[171] + x[174] + x[178] + x[191] + x[209] + x[214] + x[216] + x[220] + x[221] + x[224] + x[225] + x[241] + x[248] + x[249] + x[253] + x[255] + x[256] + x[265] + x[266] + x[267] + x[268] + x[274] + x[286] + x[292] + x[293] + x[305] + x[312] + x[315] + x[316] + x[317] + x[320] + x[324] + x[336] + x[337] + x[340] + x[341] + x[342] + x[345] + x[346] + x[353] + x[355] + x[356] + x[357] + x[361] + x[362] + x[373] + x[375] + x[386] >= 1.0
 x[7] + x[10] + x[11] + x[12] + x[19] + x[23] + x[34] + x[35] + x[39] + x[43] + x[46] + x[68] + x[70] + x[76] + x[77] + x[78] + x[80] + x[99] + x[108] + x[131] + x[133] + x[134] + x[138] + x[142] + x[144] + x[146] + x[147] + x[148] + x[155] + x[158] + x[160] + x[162] + x[182] + x[183] + x[186] + x[190] + x[195] + x[196] + x[197] + x[210] + x[211] + x[213] + x[215] + x[218] + x[219] + x[223] + x[229] + x[236] + x[239] + x[240] + x[245] + x[246] + x[258] + x[264] + x[269] + x[270] + x[275] + x[281] + x[289] + x[294] + x[297] + x[299] + x[310] + x[313] + x[314] + x[318] + x[330] + x[333] + x[338] + x[348] + x[350] + x[359] + x[363] + x[368] + x[370] + x[387] + x[390] + x[392] + x[394] + x[395] >= 1.0
 x[8] + x[9] + x[13] + x[15] + x[24] + x[25] + x[26] + x[42] + x[49] + x[50] + x[53] + x[57] + x[64] + x[65] + x[86] + x[88] + x[89] + x[97] + x[110] + x[113] + x[120] + x[127] + x[132] + x[151] + x[164] + x[168] + x[172] + x[176] + x[179] + x[181] + x[184] + x[187] + x[192] + x[194] + x[198] + x[202] + x[203] + x[217] + x[222] + x[227] + x[230] + x[238] + x[247] + x[251] + x[254] + x[259] + x[260] + x[261] + x[262] + x[276] + x[277] + x[287] + x[295] + x[296] + x[298] + x[309] + x[319] + x[329] + x[334] + x[347] + x[351] + x[377] + x[379] + x[383] + x[385] + x[389] + x[391] >= 1.0
 100000 x[1] + 2.5842697e7 x[2] + 3.45408e6 x[3] + 2.6e7 x[4] + 2.4294e6 x[5] + 2.37684e6 x[6] + 9.258e6 x[7] + 98144 x[8] + 9.07305e6 x[9] + 5.714583e6 x[10] + 2.5842697e7 x[11] + 2.159029e6 x[12] + 2.2818e6 x[13] + 3.0e6 x[14] + 1.22e7 x[15] + 7.25e6 x[16] + 9.56292e6 x[17] + 1.61852e6 x[18] + 8.55612e6 x[19] + 8.71932e6 x[20] + 5.6976e6 x[21] + 2.564753e6 x[22] + 2.4147727e7 x[23] + 1.296e7 x[24] + 1.416852e6 x[25] + 2.5565217e7 x[26] + 5.45328e6 x[27] + 1.9269662e7 x[28] + 2.7093019e7 x[29] + 2.731714e6 x[30] + 5.846154e6 x[31] + 1.620564e6 x[32] + 2.603982e6 x[33] + 1.678854e6 x[34] + 7.0e6 x[35] + 1.2345679e7 x[36] + 3.0e6 x[37] + 1.7e7 x[38] + 6.825e6 x[39] + 1.5625e7 x[40] + 8.529386e6 x[41] + 1.7e7 x[42] + 1.780128e6 x[43] + 1.416852e6 x[44] + 2.725e7 x[45] + 1.588231e6 x[46] + 6.767e6 x[47] + 1.96236e6 x[48] + 4.161e6 x[49] + 3.7554e6 x[50] + 1.443842e6 x[51] + 2.0e7 x[52] + 1.61852e6 x[53] + 1.416852e6 x[54] + 6.534829e6 x[55] + 1.61852e6 x[56] + 3.21948e6 x[57] + 1.416582e6 x[58] + 7.936508e6 x[59] + 4.0e6 x[60] + 2.028594e6 x[61] + 2.320044e6 x[62] + 1.416852e6 x[63] + 3.2742e7 x[64] + 1.845301e6 x[65] + 8.089282e6 x[66] + 1.6456522e7 x[67] + 7.0e6 x[68] + 1.416852e6 x[69] + 2.564753e6 x[70] + 5.2014e6 x[71] + 2.028594e6 x[72] + 2.75e6 x[73] + 2.177483e6 x[74] + 2.564753e6 x[75] + 2.564753e6 x[76] + 1.413272e6 x[77] + 1.427191e6 x[78] + 1.34375e7 x[79] + 2.68656e6 x[80] + 4.2402e6 x[81] + 3.2511623e7 x[82] + 1.72305e6 x[83] + 3.0e6 x[84] + 3.5e6 x[85] + 1.1301219e7 x[86] + 1.85e7 x[87] + 2.1e6 x[88] + 7.815533e6 x[89] + 7.44186e6 x[90] + 4.0231758e7 x[91] + 2.028594e6 x[92] + 2.7093019e7 x[93] + 4.767e6 x[94] + 1.3333334e7 x[95] + 9.6075e6 x[96] + 4.99e6 x[97] + 2.7739975e7 x[98] + 1.678854e6 x[99] + 1.416852e6 x[100] + 1.6229213e7 x[101] + 1.06e7 x[102] + 2.9058e6 x[103] + 7.68336e6 x[104] + 1.61852e6 x[105] + 1.92179e7 x[106] + 2.7093019e7 x[107] + 2.564753e6 x[108] + 5.348007e6 x[109] + 3.7199e7 x[110] + 7.804878e6 x[111] + 2.750463e7 x[112] + 1.882867e6 x[113] + 1.92588e6 x[114] + 9.6e6 x[115] + 1.765e7 x[116] + 8.1565e6 x[117] + 2.47584e6 x[118] + 3.15e6 x[119] + 4.0e6 x[120] + 2.875e6 x[121] + 1.7e7 x[122] + 6.39276e6 x[123] + 1.416852e6 x[124] + 1.882867e6 x[125] + 9.7452e6 x[126] + 2.2615559e7 x[127] + 7.333333e6 x[128] + 2.55957e7 x[129] + 7.664753e6 x[130] + 1.4e7 x[131] + 3.3005556e7 x[132] + 9.8e6 x[133] + 2.5788e6 x[134] + 3.95292e6 x[135] + 2.5008427e7 x[136] + 522738 x[137] + 1.9863636e7 x[138] + 1.405773e7 x[139] + 1.416852e6 x[140] + 1.678854e6 x[141] + 9.346153e6 x[142] + 1.4634146e7 x[143] + 1.853913e7 x[144] + 2.564753e6 x[145] + 4.767e6 x[146] + 2.564753e6 x[147] + 3.4234964e7 x[148] + 1.815e7 x[149] + 3.78e7 x[150] + 1.1511234e7 x[151] + 6.0e6 x[152] + 1.7839286e7 x[153] + 7.67e6 x[154] + 3.1034483e7 x[155] + 898310 x[156] + 1.93416e6 x[157] + 1.416852e6 x[158] + 2.564753e6 x[159] + 3.270069e7 x[160] + 9.732396e6 x[161] + 3.32103e6 x[162] + 1.676735e6 x[163] + 1.737145e6 x[164] + 4.861208e6 x[165] + 2.564753e6 x[166] + 1.0133907e7 x[167] + 1.3258781e7 x[168] + 2.2392e6 x[169] + 2.6131111e7 x[170] + 4.767e6 x[171] + 2.5e6 x[172] + 4.767e6 x[173] + 5.718e6 x[174] + 2.8e7 x[175] + 3.54e6 x[176] + 5.60385e6 x[177] + 2.63628e6 x[178] + 2.33232e6 x[179] + 2.3271604e7 x[180] + 1.7185185e7 x[181] + 7.0e6 x[182] + 1.1954546e7 x[183] + 7.265485e6 x[184] + 3.1742e7 x[185] + 5.80644e6 x[186] + 1.61852e6 x[187] + 92857 x[188] + 1.61852e6 x[189] + 6.92748e6 x[190] + 7.05948e6 x[191] + 3.28092e6 x[192] + 1.8086956e7 x[193] + 3.7436858e7 x[194] + 1.445697e6 x[195] + 1.416852e6 x[196] + 1.53494e7 x[197] + 3.623e6 x[198] + 1.924537e7 x[199] + 2.6573595e7 x[200] + 2.305057e6 x[201] + 1.645357e6 x[202] + 199000 x[203] + 8.408e6 x[204] + 9.881598e6 x[205] + 1.2e7 x[206] + 4.767e6 x[207] + 4.767e6 x[208] + 3.82716e6 x[209] + 1.3810763e7 x[210] + 8.0e6 x[211] + 1.564375e7 x[212] + 4.38012e6 x[213] + 1.620564e6 x[214] + 2.195122e6 x[215] + 6.004753e6 x[216] + 1.699236e6 x[217] + 1.9746e6 x[218] + 2.338847e6 x[219] + 1.05e7 x[220] + 1.95e7 x[221] + 3.581986e6 x[222] + 2.81328e6 x[223] + 1.275967e7 x[224] + 842327 x[225] + 4.16e6 x[226] + 3.2742e7 x[227] + 1.1286515e7 x[228] + 3.169348e6 x[229] + 2.625718e6 x[230] + 2.9802321e7 x[231] + 666667 x[232] + 4.62963e6 x[233] + 1.2093024e7 x[234] + 4.767e6 x[235] + 2.89e7 x[236] + 3.3296296e7 x[237] + 844070 x[238] + 50000 x[239] + 5.5e6 x[240] + 81678 x[241] + 1.5450051e7 x[242] + 3.569643e6 x[243] + 3.5e6 x[244] + 5.3004e6 x[245] + 100000 x[246] + 2.564753e6 x[247] + 4.0e6 x[248] + 2.7556959e7 x[249] + 3.5e6 x[250] + 7.333334e6 x[251] + 4.0e6 x[252] + 4.62963e6 x[253] + 2.253031e6 x[254] + 2.028594e6 x[255] + 1.645357e6 x[256] + 1.416852e6 x[257] + 1.416852e6 x[258] + 3.0603448e7 x[259] + 8.730158e6 x[260] + 7.25e6 x[261] + 1.588231e6 x[262] + 1.2428571e7 x[263] + 3.05e7 x[264] + 1.445697e6 x[265] + 3.63576e6 x[266] + 4.0284e6 x[267] + 8.664928e6 x[268] + 1.5e7 x[269] + 3.2e6 x[270] + 1.588231e6 x[271] + 1.737145e6 x[272] + 4.444746e6 x[273] + 1.9116e6 x[274] + 2.028594e6 x[275] + 1.416852e6 x[276] + 1.61852e6 x[277] + 1.2727273e7 x[278] + 1.882867e6 x[279] + 1.737145e6 x[280] + 1.783557e6 x[281] + 6.431666e6 x[282] + 2.028594e6 x[283] + 4.8558e6 x[284] + 1.2e7 x[285] + 1.678854e6 x[286] + 1.61852e6 x[287] + 2.028594e6 x[288] + 1.61852e6 x[289] + 1.702486e6 x[290] + 1.416852e6 x[291] + 2.53068e6 x[292] + 2.1e7 x[293] + 1.1667885e7 x[294] + 2.907143e6 x[295] + 1.5625e7 x[296] + 6.5e6 x[297] + 2.5102511e7 x[298] + 3.06866e6 x[299] + 1.620564e6 x[300] + 3.8506482e7 x[301] + 150000 x[302] + 8.0e6 x[303] + 1.090781e6 x[304] + 1.445697e6 x[305] + 1.4041096e7 x[306] + 1.25e7 x[307] + 3.754886e6 x[308] + 2.7250576e7 x[309] + 1.5e7 x[310] + 1.0259375e7 x[311] + 1.0116576e7 x[312] + 371758 x[313] + 1.8e7 x[314] + 1.34863e7 x[315] + 1.01e7 x[316] + 2.174318e6 x[317] + 1.416852e6 x[318] + 1.882867e6 x[319] + 3.56772e6 x[320] + 1.559712e6 x[321] + 2.564753e6 x[322] + 7.317073e6 x[323] + 1.25e7 x[324] + 1.9894737e7 x[325] + 1.6190476e7 x[326] + 2.7285e7 x[327] + 3.529555e6 x[328] + 1.737145e6 x[329] + 3.481986e6 x[330] + 1.0e7 x[331] + 1.55e7 x[332] + 4.767e6 x[333] + 2.564753e6 x[334] + 4.76496e6 x[335] + 1.99512e6 x[336] + 419443 x[337] + 2.351839e6 x[338] + 8.11393e6 x[339] + 1.0e6 x[340] + 2.14956e6 x[341] + 1.2553471e7 x[342] + 4.46364e6 x[343] + 5.853659e6 x[344] + 1.456667e6 x[345] + 3.0588e6 x[346] + 1.1392857e7 x[347] + 1.8978e6 x[348] + 2.0e6 x[349] + 2.03316e6 x[350] + 7.83e6 x[351] + 1.9e7 x[352] + 4.767e6 x[353] + 5.0e6 x[354] + 2.320044e6 x[355] + 838464 x[356] + 3.2742e7 x[357] + 1.853913e7 x[358] + 2.564753e6 x[359] + 2.725e7 x[360] + 1.416852e6 x[361] + 3.5511e6 x[362] + 8.349039e6 x[363] + 1.8606557e7 x[364] + 1.8e7 x[365] + 50000 x[366] + 1.6e7 x[367] + 1.416852e6 x[368] + 9.0e6 x[369] + 2.0e6 x[370] + 2.8e7 x[371] + 2.06352e6 x[372] + 1.21e7 x[373] + 3.2742e7 x[374] + 2.76048e6 x[375] + 3.78e7 x[376] + 3.481986e6 x[377] + 1.445697e6 x[378] + 1.081e7 x[379] + 3.8178e7 x[380] + 1.94808e6 x[381] + 2.7093018e7 x[382] + 2.727e7 x[383] + 106181 x[384] + 1.416852e6 x[385] + 8.0e6 x[386] + 1.5962599e7 x[387] + 1.93752e6 x[388] + 122741 x[389] + 2.96112e6 x[390] + 1.3e7 x[391] + 1.645357e6 x[392] + 9.473684e6 x[393] + 3.11724e6 x[394] + 1.29e7 x[395] + 6.273e6 x[396] + 1.447191e7 x[397] + 2.2818e6 x[398] + 6.481482e6 x[399] <= 1.02e8
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
 x[139] binary
 x[140] binary
 x[141] binary
 x[142] binary
 x[143] binary
 x[144] binary
 x[145] binary
 x[146] binary
 x[147] binary
 x[148] binary
 x[149] binary
 x[150] binary
 x[151] binary
 x[152] binary
 x[153] binary
 x[154] binary
 x[155] binary
 x[156] binary
 x[157] binary
 x[158] binary
 x[159] binary
 x[160] binary
 x[161] binary
 x[162] binary
 x[163] binary
 x[164] binary
 x[165] binary
 x[166] binary
 x[167] binary
 x[168] binary
 x[169] binary
 x[170] binary
 x[171] binary
 x[172] binary
 x[173] binary
 x[174] binary
 x[175] binary
 x[176] binary
 x[177] binary
 x[178] binary
 x[179] binary
 x[180] binary
 x[181] binary
 x[182] binary
 x[183] binary
 x[184] binary
 x[185] binary
 x[186] binary
 x[187] binary
 x[188] binary
 x[189] binary
 x[190] binary
 x[191] binary
 x[192] binary
 x[193] binary
 x[194] binary
 x[195] binary
 x[196] binary
 x[197] binary
 x[198] binary
 x[199] binary
 x[200] binary
 x[201] binary
 x[202] binary
 x[203] binary
 x[204] binary
 x[205] binary
 x[206] binary
 x[207] binary
 x[208] binary
 x[209] binary
 x[210] binary
 x[211] binary
 x[212] binary
 x[213] binary
 x[214] binary
 x[215] binary
 x[216] binary
 x[217] binary
 x[218] binary
 x[219] binary
 x[220] binary
 x[221] binary
 x[222] binary
 x[223] binary
 x[224] binary
 x[225] binary
 x[226] binary
 x[227] binary
 x[228] binary
 x[229] binary
 x[230] binary
 x[231] binary
 x[232] binary
 x[233] binary
 x[234] binary
 x[235] binary
 x[236] binary
 x[237] binary
 x[238] binary
 x[239] binary
 x[240] binary
 x[241] binary
 x[242] binary
 x[243] binary
 x[244] binary
 x[245] binary
 x[246] binary
 x[247] binary
 x[248] binary
 x[249] binary
 x[250] binary
 x[251] binary
 x[252] binary
 x[253] binary
 x[254] binary
 x[255] binary
 x[256] binary
 x[257] binary
 x[258] binary
 x[259] binary
 x[260] binary
 x[261] binary
 x[262] binary
 x[263] binary
 x[264] binary
 x[265] binary
 x[266] binary
 x[267] binary
 x[268] binary
 x[269] binary
 x[270] binary
 x[271] binary
 x[272] binary
 x[273] binary
 x[274] binary
 x[275] binary
 x[276] binary
 x[277] binary
 x[278] binary
 x[279] binary
 x[280] binary
 x[281] binary
 x[282] binary
 x[283] binary
 x[284] binary
 x[285] binary
 x[286] binary
 x[287] binary
 x[288] binary
 x[289] binary
 x[290] binary
 x[291] binary
 x[292] binary
 x[293] binary
 x[294] binary
 x[295] binary
 x[296] binary
 x[297] binary
 x[298] binary
 x[299] binary
 x[300] binary
 x[301] binary
 x[302] binary
 x[303] binary
 x[304] binary
 x[305] binary
 x[306] binary
 x[307] binary
 x[308] binary
 x[309] binary
 x[310] binary
 x[311] binary
 x[312] binary
 x[313] binary
 x[314] binary
 x[315] binary
 x[316] binary
 x[317] binary
 x[318] binary
 x[319] binary
 x[320] binary
 x[321] binary
 x[322] binary
 x[323] binary
 x[324] binary
 x[325] binary
 x[326] binary
 x[327] binary
 x[328] binary
 x[329] binary
 x[330] binary
 x[331] binary
 x[332] binary
 x[333] binary
 x[334] binary
 x[335] binary
 x[336] binary
 x[337] binary
 x[338] binary
 x[339] binary
 x[340] binary
 x[341] binary
 x[342] binary
 x[343] binary
 x[344] binary
 x[345] binary
 x[346] binary
 x[347] binary
 x[348] binary
 x[349] binary
 x[350] binary
 x[351] binary
 x[352] binary
 x[353] binary
 x[354] binary
 x[355] binary
 x[356] binary
 x[357] binary
 x[358] binary
 x[359] binary
 x[360] binary
 x[361] binary
 x[362] binary
 x[363] binary
 x[364] binary
 x[365] binary
 x[366] binary
 x[367] binary
 x[368] binary
 x[369] binary
 x[370] binary
 x[371] binary
 x[372] binary
 x[373] binary
 x[374] binary
 x[375] binary
 x[376] binary
 x[377] binary
 x[378] binary
 x[379] binary
 x[380] binary
 x[381] binary
 x[382] binary
 x[383] binary
 x[384] binary
 x[385] binary
 x[386] binary
 x[387] binary
 x[388] binary
 x[389] binary
 x[390] binary
 x[391] binary
 x[392] binary
 x[393] binary
 x[394] binary
 x[395] binary
 x[396] binary
 x[397] binary
 x[398] binary
 x[399] binary
Out[20]:
true
In [21]:
println("Objective value: ", objective_value(model_2))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 2.7180531772539608e-5
Optimal solution is x = 
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [22]:
players[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :BPM,:VORP, :Salary]]
Out[22]:

8 rows × 6 columns

PlayerPosWSBPMVORPSalary
StringStringFloat64Float64Float64Int64
1Giannis Antetokounmpo\\antetgi01PF14.410.87.625842697
2Rudy Gobert\\goberru01C14.47.05.925008427
3James Harden\\hardeja01PG15.211.79.937800000
4Buddy Hield\\hieldbu01SG5.91.12.14861208
5Royce O'Neale\\onealro01SF3.30.10.91618520
6Gary Payton\\paytoga02PG0.114.90.11090781
7Mitchell Robinson\\robinmi01C6.15.72.71559712
8Pascal Siakam\\siakapa01PF9.33.43.52351839
In [23]:
sum(players[JuMP.value.(x) .== 1.0, :Salary])
Out[23]:
100133184

Model 3 - Maximize sum of WS, BPM and VORP

Maximize chances of winnings, which is the simple sum of WS, BPM and VORP

In [24]:
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface


model_3  = Model(with_optimizer(GLPK.Optimizer))

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model_3, x[1:399], Bin)
 
# each cell must contain only one digit
@constraint(model_3, sum(x[i] for i in PG) >= 1)
@constraint(model_3, sum(x[i] for i in C) >= 1)
@constraint(model_3, sum(x[i] for i in SG) >= 1)
@constraint(model_3, sum(x[i] for i in PF) >= 1)
@constraint(model_3, sum(x[i] for i in SF) >= 1)
@constraint(model_3, sum(x[i] for i in 1:399) == 8)
@constraint(model_3, sum(x[i] .* players[i,:Salary] for i = 1:399) <=  102000000)  


# maximize win shares plus VORP plus BPM   
@objective(model_3, Max, sum(x[i] .* ( players[i,:WS] .+ players[i,:VORP] .+  players[i,:BPM])  for i = 1:399))
                    

println("The optimization problem to be solved is:")
print(model_3)

JuMP.optimize!(model_3)
term_status = JuMP.termination_status(model_3)
primal_status = JuMP.primal_status(model_3)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Max -4.6000000000000005 x[1] + 15 x[2] + 12.2 x[3] + 13.4 x[4] - 7.3 x[5] + 12.5 x[6] + 8.4 x[7] - 2.9000000000000004 x[8] + 4.9 x[9] - 7 x[10] + 32.8 x[11] - 5.9 x[12] + 1.0999999999999999 x[13] + 3.2 x[14] + 2.9 x[15] + 7.6000000000000005 x[16] + 7.2 x[17] - 2.6 x[18] + 1.9000000000000001 x[19] + 3 x[20] + 1.9000000000000001 x[21] + 0.09999999999999987 x[22] + 1.1 x[23] - 1.2 x[24] - 2.9 x[25] + 6.2 x[26] + 3.1 x[27] - 1.6 x[28] + 14.100000000000001 x[29] + 4.7 x[30] + 0.3999999999999999 x[31] + 1.5 x[32] - 1.4000000000000001 x[33] - 3.1999999999999997 x[34] + 6.5 x[35] + 9.399999999999999 x[36] + 5.9 x[37] + 1.1 x[38] + 8.3 x[39] + 14.899999999999999 x[40] + 2.6000000000000005 x[41] + 8.1 x[42] + 3.0999999999999996 x[43] - 4.5 x[44] + 5.8999999999999995 x[45] + 1.9 x[46] - 2.9 x[47] - 0.6 x[48] + 3.8 x[49] + 2.9 x[50] - 1.4999999999999998 x[51] + 9.6 x[52] - 6.3999999999999995 x[53] - 0.5 x[54] + 0.8999999999999999 x[55] + 0.6000000000000001 x[56] - 3.4000000000000004 x[57] - 0.10000000000000009 x[58] + 8.5 x[59] + 2.7 x[60] - 0.7000000000000002 x[61] - 0.8000000000000003 x[62] - 6.5 x[63] + 14 x[64] + 2.1 x[65] + 4.1000000000000005 x[66] + 16.5 x[67] + 1.5000000000000002 x[68] - 4.3 x[69] + 0.3999999999999999 x[70] + 1.7999999999999998 x[71] + x[72] + 0.29999999999999993 x[73] + 11 x[74] + x[75] + 0.8 x[76] - 6.9 x[77] - 0.8 x[78] - 0.19999999999999996 x[79] + 9 x[80] + 3.6999999999999997 x[81] + 14.6 x[82] + 6.699999999999999 x[83] - 1.2999999999999998 x[84] + 7.1 x[85] + 6.199999999999999 x[86] - 1.7999999999999998 x[87] + 3.6 x[88] + 6.1000000000000005 x[89] + 1.3 x[90] + 20.9 x[91] - 4.6000000000000005 x[92] + 22.9 x[93] + 7.000000000000001 x[94] + 6.6 x[95] - 5.7 x[96] + 0.30000000000000004 x[97] + 9.200000000000001 x[98] + 1.1 x[99] - 4.3 x[100] + 4 x[101] + 5.3999999999999995 x[102] - 1.2000000000000002 x[103] + 12.6 x[104] - x[105] + 0.6000000000000001 x[106] + 16.2 x[107] + 1.5000000000000002 x[108] - 1.1 x[109] + 20.1 x[110] + 3.5 x[111] + 16.1 x[112] + 2.3 x[113] - 7.300000000000001 x[114] - 3.3 x[115] + 15 x[116] - 2.4000000000000004 x[117] + 0.8999999999999999 x[118] - 0.5 x[119] + 4.6000000000000005 x[120] + 3.8 x[121] + 2 x[122] + 8.7 x[123] - 13.1 x[124] - 0.3999999999999999 x[125] - 2.9 x[126] + 13.7 x[127] + 2.3999999999999995 x[128] + 11.8 x[129] + 1.9 x[130] + 6.800000000000001 x[131] + 22.7 x[132] + 7.3999999999999995 x[133] - 1.1 x[134] + 3.9000000000000004 x[135] + 27.3 x[136] - 11 x[137] + 8.1 x[138] - 0.7999999999999998 x[139] - 4.2 x[140] - 2.6 x[141] + 9.100000000000001 x[142] + 11.500000000000002 x[143] + 8.4 x[144] - 2 x[145] + 1.6 x[146] + 2.8 x[147] + 17 x[148] - 0.7999999999999998 x[149] + 36.8 x[150] + 7.1000000000000005 x[151] + 16.3 x[152] + 0.9000000000000001 x[153] + 8.2 x[154] + 9.4 x[155] + 0.2999999999999998 x[156] + 2 x[157] - 14.4 x[159] + 6.6000000000000005 x[160] + 2.1 x[161] + 2.5 x[162] + 2.8 x[163] - 4.7 x[164] + 9.1 x[165] - 0.6000000000000001 x[166] + 2.0999999999999996 x[167] - 1.9 x[168] - 1.8 x[169] + 11.100000000000001 x[170] + 2.1000000000000005 x[171] - 2.1 x[172] + 6.699999999999999 x[173] + 15.7 x[175] + 1.9999999999999996 x[176] - 4.8 x[177] - 0.2999999999999998 x[178] - 4.2 x[179] + 7.8999999999999995 x[180] + 7.700000000000001 x[181] + 1.9000000000000001 x[182] + 10.3 x[183] - 1.0999999999999999 x[184] + 20.200000000000003 x[185] + 5.199999999999999 x[186] - x[187] + 1.2 x[188] - 5.5 x[189] + 4.199999999999999 x[190] - 7.8999999999999995 x[191] + 1.5 x[192] + 5.7 x[193] + 20.200000000000003 x[194] + 2.6 x[195] - 8.2 x[196] - 2.3000000000000003 x[198] + 1.6999999999999997 x[199] + 28.6 x[200] + 5 x[201] + 3.7 x[202] + 1.1 x[203] + 1.3 x[204] + 11.799999999999999 x[205] + 3.8 x[206] + 1.1 x[207] + 8.100000000000001 x[208] + 1.2000000000000002 x[209] + 1.4000000000000001 x[210] + 6.3 x[211] - 5.6 x[212] - 9.5 x[213] - 1.1 x[214] + 2.5999999999999996 x[215] + x[216] - 0.8999999999999999 x[217] + 1.6000000000000003 x[218] - 1.5 x[219] + 6.6 x[220] + 3.9 x[221] + 3.4000000000000004 x[222] + 0.7000000000000002 x[223] - 2.5 x[224] - 3.1 x[225] + 2.7 x[226] + 18.1 x[227] + 5.199999999999999 x[228] - 2.2 x[229] + 2 x[230] + 23 x[231] + 0.6000000000000001 x[232] + 11.8 x[233] + 12.2 x[234] + 2 x[235] - 0.3999999999999999 x[236] + 12.499999999999998 x[237] - 5.3 x[238] - 2.3 x[239] - 2.5 x[240] - 10.5 x[241] + 0.10000000000000009 x[242] + 1.5999999999999999 x[243] + 5.6 x[244] + 0.8000000000000003 x[245] - 10.6 x[246] + 1.5 x[247] - 0.6 x[248] + 7.199999999999999 x[249] + 1.4 x[250] + 0.7999999999999998 x[251] + 9.5 x[252] - 0.10000000000000009 x[253] - 0.5 x[254] - 3.6 x[255] - 3.3000000000000003 x[256] - 2.7 x[257] - 9.799999999999999 x[258] + 8.6 x[259] - 3 x[260] + 2.220446049250313e-16 x[261] - 1.8 x[262] + 3.7 x[263] + 10.6 x[264] - 2.4000000000000004 x[265] + 7.3 x[266] - 4.2 x[267] - 0.6000000000000003 x[268] + 3.4 x[269] - 1.4999999999999998 x[270] + 7.500000000000001 x[271] - 1.7999999999999998 x[272] + 6.499999999999999 x[273] - 10.6 x[274] + 2.2 x[275] - 6.2 x[276] - 4.699999999999999 x[277] + 11.600000000000001 x[278] + 1.5999999999999999 x[279] - 0.5 x[280] + 0.30000000000000004 x[281] + 4.4 x[282] + 9.8 x[283] - 7.300000000000001 x[284] + 16.4 x[285] - 0.19999999999999996 x[286] + 4.3 x[287] + 3.2 x[288] - 3.9 x[289] - 0.19999999999999973 x[290] - 7.300000000000001 x[291] - 0.3999999999999999 x[292] + 5.8999999999999995 x[293] + 7.199999999999999 x[294] - 0.7000000000000002 x[295] - 0.10000000000000009 x[296] - 0.7000000000000002 x[297] - 4.6 x[298] - 3 x[299] - 0.2 x[300] + 12 x[301] - 3.3 x[302] + x[303] + 15.1 x[304] - 4.8999999999999995 x[305] + 12.2 x[306] + 0.5 x[307] + 11.3 x[308] + 4.7 x[309] - 1.5999999999999999 x[310] + 14 x[311] + 2.0999999999999996 x[312] + 1.7000000000000002 x[313] + 9.4 x[314] + 6 x[315] + 7.8999999999999995 x[316] - 3 x[317] - 4.1000000000000005 x[318] - 3.8000000000000003 x[319] - 4.3999999999999995 x[320] + 14.5 x[321] - 0.19999999999999996 x[322] + 2.9 x[323] + 4.9 x[324] + 3.1000000000000005 x[325] + 4.6000000000000005 x[326] + 11.700000000000001 x[327] + 13.899999999999999 x[328] - x[329] + 2.9 x[330] + 4.9 x[331] - 0.8000000000000003 x[332] - 1.3 x[333] + 2.5 x[334] - 7.9 x[335] + 3.0999999999999996 x[336] + 0.19999999999999996 x[337] + 16.2 x[338] + 16.4 x[339] - 5.2 x[340] - 6.3999999999999995 x[341] + 9.200000000000001 x[342] - 2.7 x[343] - 1.2999999999999998 x[344] - 5.6000000000000005 x[345] - 4 x[346] + 2.5 x[347] + 0.3999999999999999 x[348] - 3.6 x[349] - 8.3 x[350] + 5 x[351] - 0.2999999999999998 x[352] + 1.4000000000000001 x[353] + 6.8 x[354] - 9.299999999999999 x[355] - 5.4 x[356] + 5.3 x[357] + 3.5999999999999996 x[358] - 1.1000000000000003 x[359] + 22.900000000000002 x[360] - 10.700000000000001 x[361] - 4.1000000000000005 x[362] + 8.6 x[363] + 0.30000000000000004 x[364] + 12.399999999999999 x[365] - 7.1 x[366] + 6.300000000000001 x[367] - 3.9 x[368] + 5.2 x[369] + 4.1000000000000005 x[370] + 21.799999999999997 x[371] - 5.199999999999999 x[372] - 0.7 x[373] + 14.600000000000001 x[374] - 4.5 x[375] + 1.5 x[376] - 0.3999999999999999 x[377] - 1.2000000000000002 x[378] + 0.5000000000000002 x[379] + 18.9 x[380] + 5.800000000000001 x[381] + 8.3 x[382] - 2.9 x[383] - 0.7 x[384] + 1.4 x[385] + 6.7 x[386] + 5.3999999999999995 x[387] + 6.1000000000000005 x[388] - 2.2 x[389] + 0.19999999999999996 x[390] + 3.6999999999999997 x[391] - 2.5999999999999996 x[392] + 7.3 x[393] - 1.6 x[394] + 12.9 x[395] + 2.8 x[396] + 7.1 x[397] - 1.4000000000000001 x[398] + 3.4000000000000004 x[399]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] + x[139] + x[140] + x[141] + x[142] + x[143] + x[144] + x[145] + x[146] + x[147] + x[148] + x[149] + x[150] + x[151] + x[152] + x[153] + x[154] + x[155] + x[156] + x[157] + x[158] + x[159] + x[160] + x[161] + x[162] + x[163] + x[164] + x[165] + x[166] + x[167] + x[168] + x[169] + x[170] + x[171] + x[172] + x[173] + x[174] + x[175] + x[176] + x[177] + x[178] + x[179] + x[180] + x[181] + x[182] + x[183] + x[184] + x[185] + x[186] + x[187] + x[188] + x[189] + x[190] + x[191] + x[192] + x[193] + x[194] + x[195] + x[196] + x[197] + x[198] + x[199] + x[200] + x[201] + x[202] + x[203] + x[204] + x[205] + x[206] + x[207] + x[208] + x[209] + x[210] + x[211] + x[212] + x[213] + x[214] + x[215] + x[216] + x[217] + x[218] + x[219] + x[220] + x[221] + x[222] + x[223] + x[224] + x[225] + x[226] + x[227] + x[228] + x[229] + x[230] + x[231] + x[232] + x[233] + x[234] + x[235] + x[236] + x[237] + x[238] + x[239] + x[240] + x[241] + x[242] + x[243] + x[244] + x[245] + x[246] + x[247] + x[248] + x[249] + x[250] + x[251] + x[252] + x[253] + x[254] + x[255] + x[256] + x[257] + x[258] + x[259] + x[260] + x[261] + x[262] + x[263] + x[264] + x[265] + x[266] + x[267] + x[268] + x[269] + x[270] + x[271] + x[272] + x[273] + x[274] + x[275] + x[276] + x[277] + x[278] + x[279] + x[280] + x[281] + x[282] + x[283] + x[284] + x[285] + x[286] + x[287] + x[288] + x[289] + x[290] + x[291] + x[292] + x[293] + x[294] + x[295] + x[296] + x[297] + x[298] + x[299] + x[300] + x[301] + x[302] + x[303] + x[304] + x[305] + x[306] + x[307] + x[308] + x[309] + x[310] + x[311] + x[312] + x[313] + x[314] + x[315] + x[316] + x[317] + x[318] + x[319] + x[320] + x[321] + x[322] + x[323] + x[324] + x[325] + x[326] + x[327] + x[328] + x[329] + x[330] + x[331] + x[332] + x[333] + x[334] + x[335] + x[336] + x[337] + x[338] + x[339] + x[340] + x[341] + x[342] + x[343] + x[344] + x[345] + x[346] + x[347] + x[348] + x[349] + x[350] + x[351] + x[352] + x[353] + x[354] + x[355] + x[356] + x[357] + x[358] + x[359] + x[360] + x[361] + x[362] + x[363] + x[364] + x[365] + x[366] + x[367] + x[368] + x[369] + x[370] + x[371] + x[372] + x[373] + x[374] + x[375] + x[376] + x[377] + x[378] + x[379] + x[380] + x[381] + x[382] + x[383] + x[384] + x[385] + x[386] + x[387] + x[388] + x[389] + x[390] + x[391] + x[392] + x[393] + x[394] + x[395] + x[396] + x[397] + x[398] + x[399] == 8.0
 x[1] + x[14] + x[16] + x[20] + x[22] + x[36] + x[40] + x[44] + x[58] + x[61] + x[69] + x[72] + x[73] + x[82] + x[84] + x[91] + x[96] + x[102] + x[106] + x[109] + x[115] + x[119] + x[123] + x[125] + x[135] + x[137] + x[140] + x[150] + x[167] + x[169] + x[185] + x[188] + x[189] + x[193] + x[199] + x[204] + x[206] + x[212] + x[231] + x[232] + x[237] + x[250] + x[257] + x[263] + x[271] + x[272] + x[273] + x[279] + x[280] + x[284] + x[291] + x[301] + x[302] + x[303] + x[304] + x[322] + x[323] + x[325] + x[326] + x[327] + x[331] + x[332] + x[335] + x[339] + x[343] + x[344] + x[349] + x[352] + x[364] + x[366] + x[369] + x[374] + x[376] + x[378] + x[380] + x[381] + x[393] + x[396] >= 1.0
 x[2] + x[3] + x[4] + x[6] + x[17] + x[21] + x[27] + x[32] + x[37] + x[38] + x[48] + x[59] + x[67] + x[71] + x[74] + x[75] + x[81] + x[85] + x[93] + x[94] + x[95] + x[101] + x[107] + x[112] + x[116] + x[117] + x[129] + x[130] + x[136] + x[152] + x[159] + x[161] + x[163] + x[166] + x[173] + x[175] + x[177] + x[180] + x[200] + x[201] + x[205] + x[207] + x[208] + x[226] + x[228] + x[233] + x[234] + x[235] + x[242] + x[243] + x[244] + x[252] + x[278] + x[282] + x[283] + x[285] + x[288] + x[290] + x[300] + x[306] + x[307] + x[308] + x[311] + x[321] + x[328] + x[354] + x[358] + x[360] + x[365] + x[367] + x[371] + x[372] + x[382] + x[384] + x[388] + x[397] + x[398] + x[399] >= 1.0
 x[5] + x[18] + x[28] + x[29] + x[30] + x[31] + x[33] + x[41] + x[45] + x[47] + x[51] + x[52] + x[54] + x[55] + x[56] + x[60] + x[62] + x[63] + x[66] + x[79] + x[83] + x[87] + x[90] + x[92] + x[98] + x[100] + x[103] + x[104] + x[105] + x[111] + x[114] + x[118] + x[121] + x[122] + x[124] + x[126] + x[128] + x[139] + x[141] + x[143] + x[145] + x[149] + x[153] + x[154] + x[156] + x[157] + x[165] + x[170] + x[171] + x[174] + x[178] + x[191] + x[209] + x[214] + x[216] + x[220] + x[221] + x[224] + x[225] + x[241] + x[248] + x[249] + x[253] + x[255] + x[256] + x[265] + x[266] + x[267] + x[268] + x[274] + x[286] + x[292] + x[293] + x[305] + x[312] + x[315] + x[316] + x[317] + x[320] + x[324] + x[336] + x[337] + x[340] + x[341] + x[342] + x[345] + x[346] + x[353] + x[355] + x[356] + x[357] + x[361] + x[362] + x[373] + x[375] + x[386] >= 1.0
 x[7] + x[10] + x[11] + x[12] + x[19] + x[23] + x[34] + x[35] + x[39] + x[43] + x[46] + x[68] + x[70] + x[76] + x[77] + x[78] + x[80] + x[99] + x[108] + x[131] + x[133] + x[134] + x[138] + x[142] + x[144] + x[146] + x[147] + x[148] + x[155] + x[158] + x[160] + x[162] + x[182] + x[183] + x[186] + x[190] + x[195] + x[196] + x[197] + x[210] + x[211] + x[213] + x[215] + x[218] + x[219] + x[223] + x[229] + x[236] + x[239] + x[240] + x[245] + x[246] + x[258] + x[264] + x[269] + x[270] + x[275] + x[281] + x[289] + x[294] + x[297] + x[299] + x[310] + x[313] + x[314] + x[318] + x[330] + x[333] + x[338] + x[348] + x[350] + x[359] + x[363] + x[368] + x[370] + x[387] + x[390] + x[392] + x[394] + x[395] >= 1.0
 x[8] + x[9] + x[13] + x[15] + x[24] + x[25] + x[26] + x[42] + x[49] + x[50] + x[53] + x[57] + x[64] + x[65] + x[86] + x[88] + x[89] + x[97] + x[110] + x[113] + x[120] + x[127] + x[132] + x[151] + x[164] + x[168] + x[172] + x[176] + x[179] + x[181] + x[184] + x[187] + x[192] + x[194] + x[198] + x[202] + x[203] + x[217] + x[222] + x[227] + x[230] + x[238] + x[247] + x[251] + x[254] + x[259] + x[260] + x[261] + x[262] + x[276] + x[277] + x[287] + x[295] + x[296] + x[298] + x[309] + x[319] + x[329] + x[334] + x[347] + x[351] + x[377] + x[379] + x[383] + x[385] + x[389] + x[391] >= 1.0
 100000 x[1] + 2.5842697e7 x[2] + 3.45408e6 x[3] + 2.6e7 x[4] + 2.4294e6 x[5] + 2.37684e6 x[6] + 9.258e6 x[7] + 98144 x[8] + 9.07305e6 x[9] + 5.714583e6 x[10] + 2.5842697e7 x[11] + 2.159029e6 x[12] + 2.2818e6 x[13] + 3.0e6 x[14] + 1.22e7 x[15] + 7.25e6 x[16] + 9.56292e6 x[17] + 1.61852e6 x[18] + 8.55612e6 x[19] + 8.71932e6 x[20] + 5.6976e6 x[21] + 2.564753e6 x[22] + 2.4147727e7 x[23] + 1.296e7 x[24] + 1.416852e6 x[25] + 2.5565217e7 x[26] + 5.45328e6 x[27] + 1.9269662e7 x[28] + 2.7093019e7 x[29] + 2.731714e6 x[30] + 5.846154e6 x[31] + 1.620564e6 x[32] + 2.603982e6 x[33] + 1.678854e6 x[34] + 7.0e6 x[35] + 1.2345679e7 x[36] + 3.0e6 x[37] + 1.7e7 x[38] + 6.825e6 x[39] + 1.5625e7 x[40] + 8.529386e6 x[41] + 1.7e7 x[42] + 1.780128e6 x[43] + 1.416852e6 x[44] + 2.725e7 x[45] + 1.588231e6 x[46] + 6.767e6 x[47] + 1.96236e6 x[48] + 4.161e6 x[49] + 3.7554e6 x[50] + 1.443842e6 x[51] + 2.0e7 x[52] + 1.61852e6 x[53] + 1.416852e6 x[54] + 6.534829e6 x[55] + 1.61852e6 x[56] + 3.21948e6 x[57] + 1.416582e6 x[58] + 7.936508e6 x[59] + 4.0e6 x[60] + 2.028594e6 x[61] + 2.320044e6 x[62] + 1.416852e6 x[63] + 3.2742e7 x[64] + 1.845301e6 x[65] + 8.089282e6 x[66] + 1.6456522e7 x[67] + 7.0e6 x[68] + 1.416852e6 x[69] + 2.564753e6 x[70] + 5.2014e6 x[71] + 2.028594e6 x[72] + 2.75e6 x[73] + 2.177483e6 x[74] + 2.564753e6 x[75] + 2.564753e6 x[76] + 1.413272e6 x[77] + 1.427191e6 x[78] + 1.34375e7 x[79] + 2.68656e6 x[80] + 4.2402e6 x[81] + 3.2511623e7 x[82] + 1.72305e6 x[83] + 3.0e6 x[84] + 3.5e6 x[85] + 1.1301219e7 x[86] + 1.85e7 x[87] + 2.1e6 x[88] + 7.815533e6 x[89] + 7.44186e6 x[90] + 4.0231758e7 x[91] + 2.028594e6 x[92] + 2.7093019e7 x[93] + 4.767e6 x[94] + 1.3333334e7 x[95] + 9.6075e6 x[96] + 4.99e6 x[97] + 2.7739975e7 x[98] + 1.678854e6 x[99] + 1.416852e6 x[100] + 1.6229213e7 x[101] + 1.06e7 x[102] + 2.9058e6 x[103] + 7.68336e6 x[104] + 1.61852e6 x[105] + 1.92179e7 x[106] + 2.7093019e7 x[107] + 2.564753e6 x[108] + 5.348007e6 x[109] + 3.7199e7 x[110] + 7.804878e6 x[111] + 2.750463e7 x[112] + 1.882867e6 x[113] + 1.92588e6 x[114] + 9.6e6 x[115] + 1.765e7 x[116] + 8.1565e6 x[117] + 2.47584e6 x[118] + 3.15e6 x[119] + 4.0e6 x[120] + 2.875e6 x[121] + 1.7e7 x[122] + 6.39276e6 x[123] + 1.416852e6 x[124] + 1.882867e6 x[125] + 9.7452e6 x[126] + 2.2615559e7 x[127] + 7.333333e6 x[128] + 2.55957e7 x[129] + 7.664753e6 x[130] + 1.4e7 x[131] + 3.3005556e7 x[132] + 9.8e6 x[133] + 2.5788e6 x[134] + 3.95292e6 x[135] + 2.5008427e7 x[136] + 522738 x[137] + 1.9863636e7 x[138] + 1.405773e7 x[139] + 1.416852e6 x[140] + 1.678854e6 x[141] + 9.346153e6 x[142] + 1.4634146e7 x[143] + 1.853913e7 x[144] + 2.564753e6 x[145] + 4.767e6 x[146] + 2.564753e6 x[147] + 3.4234964e7 x[148] + 1.815e7 x[149] + 3.78e7 x[150] + 1.1511234e7 x[151] + 6.0e6 x[152] + 1.7839286e7 x[153] + 7.67e6 x[154] + 3.1034483e7 x[155] + 898310 x[156] + 1.93416e6 x[157] + 1.416852e6 x[158] + 2.564753e6 x[159] + 3.270069e7 x[160] + 9.732396e6 x[161] + 3.32103e6 x[162] + 1.676735e6 x[163] + 1.737145e6 x[164] + 4.861208e6 x[165] + 2.564753e6 x[166] + 1.0133907e7 x[167] + 1.3258781e7 x[168] + 2.2392e6 x[169] + 2.6131111e7 x[170] + 4.767e6 x[171] + 2.5e6 x[172] + 4.767e6 x[173] + 5.718e6 x[174] + 2.8e7 x[175] + 3.54e6 x[176] + 5.60385e6 x[177] + 2.63628e6 x[178] + 2.33232e6 x[179] + 2.3271604e7 x[180] + 1.7185185e7 x[181] + 7.0e6 x[182] + 1.1954546e7 x[183] + 7.265485e6 x[184] + 3.1742e7 x[185] + 5.80644e6 x[186] + 1.61852e6 x[187] + 92857 x[188] + 1.61852e6 x[189] + 6.92748e6 x[190] + 7.05948e6 x[191] + 3.28092e6 x[192] + 1.8086956e7 x[193] + 3.7436858e7 x[194] + 1.445697e6 x[195] + 1.416852e6 x[196] + 1.53494e7 x[197] + 3.623e6 x[198] + 1.924537e7 x[199] + 2.6573595e7 x[200] + 2.305057e6 x[201] + 1.645357e6 x[202] + 199000 x[203] + 8.408e6 x[204] + 9.881598e6 x[205] + 1.2e7 x[206] + 4.767e6 x[207] + 4.767e6 x[208] + 3.82716e6 x[209] + 1.3810763e7 x[210] + 8.0e6 x[211] + 1.564375e7 x[212] + 4.38012e6 x[213] + 1.620564e6 x[214] + 2.195122e6 x[215] + 6.004753e6 x[216] + 1.699236e6 x[217] + 1.9746e6 x[218] + 2.338847e6 x[219] + 1.05e7 x[220] + 1.95e7 x[221] + 3.581986e6 x[222] + 2.81328e6 x[223] + 1.275967e7 x[224] + 842327 x[225] + 4.16e6 x[226] + 3.2742e7 x[227] + 1.1286515e7 x[228] + 3.169348e6 x[229] + 2.625718e6 x[230] + 2.9802321e7 x[231] + 666667 x[232] + 4.62963e6 x[233] + 1.2093024e7 x[234] + 4.767e6 x[235] + 2.89e7 x[236] + 3.3296296e7 x[237] + 844070 x[238] + 50000 x[239] + 5.5e6 x[240] + 81678 x[241] + 1.5450051e7 x[242] + 3.569643e6 x[243] + 3.5e6 x[244] + 5.3004e6 x[245] + 100000 x[246] + 2.564753e6 x[247] + 4.0e6 x[248] + 2.7556959e7 x[249] + 3.5e6 x[250] + 7.333334e6 x[251] + 4.0e6 x[252] + 4.62963e6 x[253] + 2.253031e6 x[254] + 2.028594e6 x[255] + 1.645357e6 x[256] + 1.416852e6 x[257] + 1.416852e6 x[258] + 3.0603448e7 x[259] + 8.730158e6 x[260] + 7.25e6 x[261] + 1.588231e6 x[262] + 1.2428571e7 x[263] + 3.05e7 x[264] + 1.445697e6 x[265] + 3.63576e6 x[266] + 4.0284e6 x[267] + 8.664928e6 x[268] + 1.5e7 x[269] + 3.2e6 x[270] + 1.588231e6 x[271] + 1.737145e6 x[272] + 4.444746e6 x[273] + 1.9116e6 x[274] + 2.028594e6 x[275] + 1.416852e6 x[276] + 1.61852e6 x[277] + 1.2727273e7 x[278] + 1.882867e6 x[279] + 1.737145e6 x[280] + 1.783557e6 x[281] + 6.431666e6 x[282] + 2.028594e6 x[283] + 4.8558e6 x[284] + 1.2e7 x[285] + 1.678854e6 x[286] + 1.61852e6 x[287] + 2.028594e6 x[288] + 1.61852e6 x[289] + 1.702486e6 x[290] + 1.416852e6 x[291] + 2.53068e6 x[292] + 2.1e7 x[293] + 1.1667885e7 x[294] + 2.907143e6 x[295] + 1.5625e7 x[296] + 6.5e6 x[297] + 2.5102511e7 x[298] + 3.06866e6 x[299] + 1.620564e6 x[300] + 3.8506482e7 x[301] + 150000 x[302] + 8.0e6 x[303] + 1.090781e6 x[304] + 1.445697e6 x[305] + 1.4041096e7 x[306] + 1.25e7 x[307] + 3.754886e6 x[308] + 2.7250576e7 x[309] + 1.5e7 x[310] + 1.0259375e7 x[311] + 1.0116576e7 x[312] + 371758 x[313] + 1.8e7 x[314] + 1.34863e7 x[315] + 1.01e7 x[316] + 2.174318e6 x[317] + 1.416852e6 x[318] + 1.882867e6 x[319] + 3.56772e6 x[320] + 1.559712e6 x[321] + 2.564753e6 x[322] + 7.317073e6 x[323] + 1.25e7 x[324] + 1.9894737e7 x[325] + 1.6190476e7 x[326] + 2.7285e7 x[327] + 3.529555e6 x[328] + 1.737145e6 x[329] + 3.481986e6 x[330] + 1.0e7 x[331] + 1.55e7 x[332] + 4.767e6 x[333] + 2.564753e6 x[334] + 4.76496e6 x[335] + 1.99512e6 x[336] + 419443 x[337] + 2.351839e6 x[338] + 8.11393e6 x[339] + 1.0e6 x[340] + 2.14956e6 x[341] + 1.2553471e7 x[342] + 4.46364e6 x[343] + 5.853659e6 x[344] + 1.456667e6 x[345] + 3.0588e6 x[346] + 1.1392857e7 x[347] + 1.8978e6 x[348] + 2.0e6 x[349] + 2.03316e6 x[350] + 7.83e6 x[351] + 1.9e7 x[352] + 4.767e6 x[353] + 5.0e6 x[354] + 2.320044e6 x[355] + 838464 x[356] + 3.2742e7 x[357] + 1.853913e7 x[358] + 2.564753e6 x[359] + 2.725e7 x[360] + 1.416852e6 x[361] + 3.5511e6 x[362] + 8.349039e6 x[363] + 1.8606557e7 x[364] + 1.8e7 x[365] + 50000 x[366] + 1.6e7 x[367] + 1.416852e6 x[368] + 9.0e6 x[369] + 2.0e6 x[370] + 2.8e7 x[371] + 2.06352e6 x[372] + 1.21e7 x[373] + 3.2742e7 x[374] + 2.76048e6 x[375] + 3.78e7 x[376] + 3.481986e6 x[377] + 1.445697e6 x[378] + 1.081e7 x[379] + 3.8178e7 x[380] + 1.94808e6 x[381] + 2.7093018e7 x[382] + 2.727e7 x[383] + 106181 x[384] + 1.416852e6 x[385] + 8.0e6 x[386] + 1.5962599e7 x[387] + 1.93752e6 x[388] + 122741 x[389] + 2.96112e6 x[390] + 1.3e7 x[391] + 1.645357e6 x[392] + 9.473684e6 x[393] + 3.11724e6 x[394] + 1.29e7 x[395] + 6.273e6 x[396] + 1.447191e7 x[397] + 2.2818e6 x[398] + 6.481482e6 x[399] <= 1.02e8
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
 x[139] binary
 x[140] binary
 x[141] binary
 x[142] binary
 x[143] binary
 x[144] binary
 x[145] binary
 x[146] binary
 x[147] binary
 x[148] binary
 x[149] binary
 x[150] binary
 x[151] binary
 x[152] binary
 x[153] binary
 x[154] binary
 x[155] binary
 x[156] binary
 x[157] binary
 x[158] binary
 x[159] binary
 x[160] binary
 x[161] binary
 x[162] binary
 x[163] binary
 x[164] binary
 x[165] binary
 x[166] binary
 x[167] binary
 x[168] binary
 x[169] binary
 x[170] binary
 x[171] binary
 x[172] binary
 x[173] binary
 x[174] binary
 x[175] binary
 x[176] binary
 x[177] binary
 x[178] binary
 x[179] binary
 x[180] binary
 x[181] binary
 x[182] binary
 x[183] binary
 x[184] binary
 x[185] binary
 x[186] binary
 x[187] binary
 x[188] binary
 x[189] binary
 x[190] binary
 x[191] binary
 x[192] binary
 x[193] binary
 x[194] binary
 x[195] binary
 x[196] binary
 x[197] binary
 x[198] binary
 x[199] binary
 x[200] binary
 x[201] binary
 x[202] binary
 x[203] binary
 x[204] binary
 x[205] binary
 x[206] binary
 x[207] binary
 x[208] binary
 x[209] binary
 x[210] binary
 x[211] binary
 x[212] binary
 x[213] binary
 x[214] binary
 x[215] binary
 x[216] binary
 x[217] binary
 x[218] binary
 x[219] binary
 x[220] binary
 x[221] binary
 x[222] binary
 x[223] binary
 x[224] binary
 x[225] binary
 x[226] binary
 x[227] binary
 x[228] binary
 x[229] binary
 x[230] binary
 x[231] binary
 x[232] binary
 x[233] binary
 x[234] binary
 x[235] binary
 x[236] binary
 x[237] binary
 x[238] binary
 x[239] binary
 x[240] binary
 x[241] binary
 x[242] binary
 x[243] binary
 x[244] binary
 x[245] binary
 x[246] binary
 x[247] binary
 x[248] binary
 x[249] binary
 x[250] binary
 x[251] binary
 x[252] binary
 x[253] binary
 x[254] binary
 x[255] binary
 x[256] binary
 x[257] binary
 x[258] binary
 x[259] binary
 x[260] binary
 x[261] binary
 x[262] binary
 x[263] binary
 x[264] binary
 x[265] binary
 x[266] binary
 x[267] binary
 x[268] binary
 x[269] binary
 x[270] binary
 x[271] binary
 x[272] binary
 x[273] binary
 x[274] binary
 x[275] binary
 x[276] binary
 x[277] binary
 x[278] binary
 x[279] binary
 x[280] binary
 x[281] binary
 x[282] binary
 x[283] binary
 x[284] binary
 x[285] binary
 x[286] binary
 x[287] binary
 x[288] binary
 x[289] binary
 x[290] binary
 x[291] binary
 x[292] binary
 x[293] binary
 x[294] binary
 x[295] binary
 x[296] binary
 x[297] binary
 x[298] binary
 x[299] binary
 x[300] binary
 x[301] binary
 x[302] binary
 x[303] binary
 x[304] binary
 x[305] binary
 x[306] binary
 x[307] binary
 x[308] binary
 x[309] binary
 x[310] binary
 x[311] binary
 x[312] binary
 x[313] binary
 x[314] binary
 x[315] binary
 x[316] binary
 x[317] binary
 x[318] binary
 x[319] binary
 x[320] binary
 x[321] binary
 x[322] binary
 x[323] binary
 x[324] binary
 x[325] binary
 x[326] binary
 x[327] binary
 x[328] binary
 x[329] binary
 x[330] binary
 x[331] binary
 x[332] binary
 x[333] binary
 x[334] binary
 x[335] binary
 x[336] binary
 x[337] binary
 x[338] binary
 x[339] binary
 x[340] binary
 x[341] binary
 x[342] binary
 x[343] binary
 x[344] binary
 x[345] binary
 x[346] binary
 x[347] binary
 x[348] binary
 x[349] binary
 x[350] binary
 x[351] binary
 x[352] binary
 x[353] binary
 x[354] binary
 x[355] binary
 x[356] binary
 x[357] binary
 x[358] binary
 x[359] binary
 x[360] binary
 x[361] binary
 x[362] binary
 x[363] binary
 x[364] binary
 x[365] binary
 x[366] binary
 x[367] binary
 x[368] binary
 x[369] binary
 x[370] binary
 x[371] binary
 x[372] binary
 x[373] binary
 x[374] binary
 x[375] binary
 x[376] binary
 x[377] binary
 x[378] binary
 x[379] binary
 x[380] binary
 x[381] binary
 x[382] binary
 x[383] binary
 x[384] binary
 x[385] binary
 x[386] binary
 x[387] binary
 x[388] binary
 x[389] binary
 x[390] binary
 x[391] binary
 x[392] binary
 x[393] binary
 x[394] binary
 x[395] binary
 x[396] binary
 x[397] binary
 x[398] binary
 x[399] binary
Warning: basis matrix is ill-conditioned (cond = 2.94e+013)
Warning: basis matrix is ill-conditioned (cond = 4.72e+012)
Out[24]:
true
In [25]:
println("Objective value: ", objective_value(model_3))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 157.39999999999998
Optimal solution is x = 
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [26]:
players[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :BPM,:VORP, :Salary]]
Out[26]:

8 rows × 6 columns

PlayerPosWSBPMVORPSalary
StringStringFloat64Float64Float64Int64
1Giannis Antetokounmpo\\antetgi01PF14.410.87.625842697
2James Harden\\hardeja01PG15.211.79.937800000
3Buddy Hield\\hieldbu01SG5.91.12.14861208
4Nikola Joki?\\jokicni01C11.89.57.326573595
5Royce O'Neale\\onealro01SF3.30.10.91618520
6Gary Payton\\paytoga02PG0.114.90.11090781
7Mitchell Robinson\\robinmi01C6.15.72.71559712
8Pascal Siakam\\siakapa01PF9.33.43.52351839
In [27]:
sum(players[JuMP.value.(x) .== 1.0, :Salary])
Out[27]:
101698352

Model 4 - dual problem

Minimize salary for the optimal level of total win shares

All optimization problems can be viewed from two perspectives, the Primal and the Dual problems. Their definitions will be inverses of each other but find the same solution In our Primal problem, we maximized team performance under the salary cap constraint In the Dual, we minimized salary needed to achieve a threshold value of performance

In [32]:
# dual problem: minimize salary for the optimal level of total win shares
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface

minws = 78.39

model_dual  = Model(with_optimizer(GLPK.Optimizer))

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model_dual, x[1:399], Bin)
 
# each cell must contain only one digit
@constraint(model_dual, sum(x[i] for i in PG) >= 1)
@constraint(model_dual, sum(x[i] for i in C) >= 1)
@constraint(model_dual, sum(x[i] for i in SG) >= 1)
@constraint(model_dual, sum(x[i] for i in PF) >= 1)
@constraint(model_dual, sum(x[i] for i in SF) >= 1)
@constraint(model_dual, sum(x[i] for i in 1:399) == 8)
@constraint(model_dual, sum(x[i] .* players[i,:WS] for i = 1:399) >= minws)  


# minimize salary
@objective(model_dual, Min, sum(x[i] .* players[i,:Salary] for i = 1:399))
                    

println("The optimization problem to be solved is:")
print(model_dual)

JuMP.optimize!(model_dual)
term_status = JuMP.termination_status(model_dual)
primal_status = JuMP.primal_status(model_dual)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Min 100000 x[1] + 2.5842697e7 x[2] + 3.45408e6 x[3] + 2.6e7 x[4] + 2.4294e6 x[5] + 2.37684e6 x[6] + 9.258e6 x[7] + 98144 x[8] + 9.07305e6 x[9] + 5.714583e6 x[10] + 2.5842697e7 x[11] + 2.159029e6 x[12] + 2.2818e6 x[13] + 3.0e6 x[14] + 1.22e7 x[15] + 7.25e6 x[16] + 9.56292e6 x[17] + 1.61852e6 x[18] + 8.55612e6 x[19] + 8.71932e6 x[20] + 5.6976e6 x[21] + 2.564753e6 x[22] + 2.4147727e7 x[23] + 1.296e7 x[24] + 1.416852e6 x[25] + 2.5565217e7 x[26] + 5.45328e6 x[27] + 1.9269662e7 x[28] + 2.7093019e7 x[29] + 2.731714e6 x[30] + 5.846154e6 x[31] + 1.620564e6 x[32] + 2.603982e6 x[33] + 1.678854e6 x[34] + 7.0e6 x[35] + 1.2345679e7 x[36] + 3.0e6 x[37] + 1.7e7 x[38] + 6.825e6 x[39] + 1.5625e7 x[40] + 8.529386e6 x[41] + 1.7e7 x[42] + 1.780128e6 x[43] + 1.416852e6 x[44] + 2.725e7 x[45] + 1.588231e6 x[46] + 6.767e6 x[47] + 1.96236e6 x[48] + 4.161e6 x[49] + 3.7554e6 x[50] + 1.443842e6 x[51] + 2.0e7 x[52] + 1.61852e6 x[53] + 1.416852e6 x[54] + 6.534829e6 x[55] + 1.61852e6 x[56] + 3.21948e6 x[57] + 1.416582e6 x[58] + 7.936508e6 x[59] + 4.0e6 x[60] + 2.028594e6 x[61] + 2.320044e6 x[62] + 1.416852e6 x[63] + 3.2742e7 x[64] + 1.845301e6 x[65] + 8.089282e6 x[66] + 1.6456522e7 x[67] + 7.0e6 x[68] + 1.416852e6 x[69] + 2.564753e6 x[70] + 5.2014e6 x[71] + 2.028594e6 x[72] + 2.75e6 x[73] + 2.177483e6 x[74] + 2.564753e6 x[75] + 2.564753e6 x[76] + 1.413272e6 x[77] + 1.427191e6 x[78] + 1.34375e7 x[79] + 2.68656e6 x[80] + 4.2402e6 x[81] + 3.2511623e7 x[82] + 1.72305e6 x[83] + 3.0e6 x[84] + 3.5e6 x[85] + 1.1301219e7 x[86] + 1.85e7 x[87] + 2.1e6 x[88] + 7.815533e6 x[89] + 7.44186e6 x[90] + 4.0231758e7 x[91] + 2.028594e6 x[92] + 2.7093019e7 x[93] + 4.767e6 x[94] + 1.3333334e7 x[95] + 9.6075e6 x[96] + 4.99e6 x[97] + 2.7739975e7 x[98] + 1.678854e6 x[99] + 1.416852e6 x[100] + 1.6229213e7 x[101] + 1.06e7 x[102] + 2.9058e6 x[103] + 7.68336e6 x[104] + 1.61852e6 x[105] + 1.92179e7 x[106] + 2.7093019e7 x[107] + 2.564753e6 x[108] + 5.348007e6 x[109] + 3.7199e7 x[110] + 7.804878e6 x[111] + 2.750463e7 x[112] + 1.882867e6 x[113] + 1.92588e6 x[114] + 9.6e6 x[115] + 1.765e7 x[116] + 8.1565e6 x[117] + 2.47584e6 x[118] + 3.15e6 x[119] + 4.0e6 x[120] + 2.875e6 x[121] + 1.7e7 x[122] + 6.39276e6 x[123] + 1.416852e6 x[124] + 1.882867e6 x[125] + 9.7452e6 x[126] + 2.2615559e7 x[127] + 7.333333e6 x[128] + 2.55957e7 x[129] + 7.664753e6 x[130] + 1.4e7 x[131] + 3.3005556e7 x[132] + 9.8e6 x[133] + 2.5788e6 x[134] + 3.95292e6 x[135] + 2.5008427e7 x[136] + 522738 x[137] + 1.9863636e7 x[138] + 1.405773e7 x[139] + 1.416852e6 x[140] + 1.678854e6 x[141] + 9.346153e6 x[142] + 1.4634146e7 x[143] + 1.853913e7 x[144] + 2.564753e6 x[145] + 4.767e6 x[146] + 2.564753e6 x[147] + 3.4234964e7 x[148] + 1.815e7 x[149] + 3.78e7 x[150] + 1.1511234e7 x[151] + 6.0e6 x[152] + 1.7839286e7 x[153] + 7.67e6 x[154] + 3.1034483e7 x[155] + 898310 x[156] + 1.93416e6 x[157] + 1.416852e6 x[158] + 2.564753e6 x[159] + 3.270069e7 x[160] + 9.732396e6 x[161] + 3.32103e6 x[162] + 1.676735e6 x[163] + 1.737145e6 x[164] + 4.861208e6 x[165] + 2.564753e6 x[166] + 1.0133907e7 x[167] + 1.3258781e7 x[168] + 2.2392e6 x[169] + 2.6131111e7 x[170] + 4.767e6 x[171] + 2.5e6 x[172] + 4.767e6 x[173] + 5.718e6 x[174] + 2.8e7 x[175] + 3.54e6 x[176] + 5.60385e6 x[177] + 2.63628e6 x[178] + 2.33232e6 x[179] + 2.3271604e7 x[180] + 1.7185185e7 x[181] + 7.0e6 x[182] + 1.1954546e7 x[183] + 7.265485e6 x[184] + 3.1742e7 x[185] + 5.80644e6 x[186] + 1.61852e6 x[187] + 92857 x[188] + 1.61852e6 x[189] + 6.92748e6 x[190] + 7.05948e6 x[191] + 3.28092e6 x[192] + 1.8086956e7 x[193] + 3.7436858e7 x[194] + 1.445697e6 x[195] + 1.416852e6 x[196] + 1.53494e7 x[197] + 3.623e6 x[198] + 1.924537e7 x[199] + 2.6573595e7 x[200] + 2.305057e6 x[201] + 1.645357e6 x[202] + 199000 x[203] + 8.408e6 x[204] + 9.881598e6 x[205] + 1.2e7 x[206] + 4.767e6 x[207] + 4.767e6 x[208] + 3.82716e6 x[209] + 1.3810763e7 x[210] + 8.0e6 x[211] + 1.564375e7 x[212] + 4.38012e6 x[213] + 1.620564e6 x[214] + 2.195122e6 x[215] + 6.004753e6 x[216] + 1.699236e6 x[217] + 1.9746e6 x[218] + 2.338847e6 x[219] + 1.05e7 x[220] + 1.95e7 x[221] + 3.581986e6 x[222] + 2.81328e6 x[223] + 1.275967e7 x[224] + 842327 x[225] + 4.16e6 x[226] + 3.2742e7 x[227] + 1.1286515e7 x[228] + 3.169348e6 x[229] + 2.625718e6 x[230] + 2.9802321e7 x[231] + 666667 x[232] + 4.62963e6 x[233] + 1.2093024e7 x[234] + 4.767e6 x[235] + 2.89e7 x[236] + 3.3296296e7 x[237] + 844070 x[238] + 50000 x[239] + 5.5e6 x[240] + 81678 x[241] + 1.5450051e7 x[242] + 3.569643e6 x[243] + 3.5e6 x[244] + 5.3004e6 x[245] + 100000 x[246] + 2.564753e6 x[247] + 4.0e6 x[248] + 2.7556959e7 x[249] + 3.5e6 x[250] + 7.333334e6 x[251] + 4.0e6 x[252] + 4.62963e6 x[253] + 2.253031e6 x[254] + 2.028594e6 x[255] + 1.645357e6 x[256] + 1.416852e6 x[257] + 1.416852e6 x[258] + 3.0603448e7 x[259] + 8.730158e6 x[260] + 7.25e6 x[261] + 1.588231e6 x[262] + 1.2428571e7 x[263] + 3.05e7 x[264] + 1.445697e6 x[265] + 3.63576e6 x[266] + 4.0284e6 x[267] + 8.664928e6 x[268] + 1.5e7 x[269] + 3.2e6 x[270] + 1.588231e6 x[271] + 1.737145e6 x[272] + 4.444746e6 x[273] + 1.9116e6 x[274] + 2.028594e6 x[275] + 1.416852e6 x[276] + 1.61852e6 x[277] + 1.2727273e7 x[278] + 1.882867e6 x[279] + 1.737145e6 x[280] + 1.783557e6 x[281] + 6.431666e6 x[282] + 2.028594e6 x[283] + 4.8558e6 x[284] + 1.2e7 x[285] + 1.678854e6 x[286] + 1.61852e6 x[287] + 2.028594e6 x[288] + 1.61852e6 x[289] + 1.702486e6 x[290] + 1.416852e6 x[291] + 2.53068e6 x[292] + 2.1e7 x[293] + 1.1667885e7 x[294] + 2.907143e6 x[295] + 1.5625e7 x[296] + 6.5e6 x[297] + 2.5102511e7 x[298] + 3.06866e6 x[299] + 1.620564e6 x[300] + 3.8506482e7 x[301] + 150000 x[302] + 8.0e6 x[303] + 1.090781e6 x[304] + 1.445697e6 x[305] + 1.4041096e7 x[306] + 1.25e7 x[307] + 3.754886e6 x[308] + 2.7250576e7 x[309] + 1.5e7 x[310] + 1.0259375e7 x[311] + 1.0116576e7 x[312] + 371758 x[313] + 1.8e7 x[314] + 1.34863e7 x[315] + 1.01e7 x[316] + 2.174318e6 x[317] + 1.416852e6 x[318] + 1.882867e6 x[319] + 3.56772e6 x[320] + 1.559712e6 x[321] + 2.564753e6 x[322] + 7.317073e6 x[323] + 1.25e7 x[324] + 1.9894737e7 x[325] + 1.6190476e7 x[326] + 2.7285e7 x[327] + 3.529555e6 x[328] + 1.737145e6 x[329] + 3.481986e6 x[330] + 1.0e7 x[331] + 1.55e7 x[332] + 4.767e6 x[333] + 2.564753e6 x[334] + 4.76496e6 x[335] + 1.99512e6 x[336] + 419443 x[337] + 2.351839e6 x[338] + 8.11393e6 x[339] + 1.0e6 x[340] + 2.14956e6 x[341] + 1.2553471e7 x[342] + 4.46364e6 x[343] + 5.853659e6 x[344] + 1.456667e6 x[345] + 3.0588e6 x[346] + 1.1392857e7 x[347] + 1.8978e6 x[348] + 2.0e6 x[349] + 2.03316e6 x[350] + 7.83e6 x[351] + 1.9e7 x[352] + 4.767e6 x[353] + 5.0e6 x[354] + 2.320044e6 x[355] + 838464 x[356] + 3.2742e7 x[357] + 1.853913e7 x[358] + 2.564753e6 x[359] + 2.725e7 x[360] + 1.416852e6 x[361] + 3.5511e6 x[362] + 8.349039e6 x[363] + 1.8606557e7 x[364] + 1.8e7 x[365] + 50000 x[366] + 1.6e7 x[367] + 1.416852e6 x[368] + 9.0e6 x[369] + 2.0e6 x[370] + 2.8e7 x[371] + 2.06352e6 x[372] + 1.21e7 x[373] + 3.2742e7 x[374] + 2.76048e6 x[375] + 3.78e7 x[376] + 3.481986e6 x[377] + 1.445697e6 x[378] + 1.081e7 x[379] + 3.8178e7 x[380] + 1.94808e6 x[381] + 2.7093018e7 x[382] + 2.727e7 x[383] + 106181 x[384] + 1.416852e6 x[385] + 8.0e6 x[386] + 1.5962599e7 x[387] + 1.93752e6 x[388] + 122741 x[389] + 2.96112e6 x[390] + 1.3e7 x[391] + 1.645357e6 x[392] + 9.473684e6 x[393] + 3.11724e6 x[394] + 1.29e7 x[395] + 6.273e6 x[396] + 1.447191e7 x[397] + 2.2818e6 x[398] + 6.481482e6 x[399]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] + x[139] + x[140] + x[141] + x[142] + x[143] + x[144] + x[145] + x[146] + x[147] + x[148] + x[149] + x[150] + x[151] + x[152] + x[153] + x[154] + x[155] + x[156] + x[157] + x[158] + x[159] + x[160] + x[161] + x[162] + x[163] + x[164] + x[165] + x[166] + x[167] + x[168] + x[169] + x[170] + x[171] + x[172] + x[173] + x[174] + x[175] + x[176] + x[177] + x[178] + x[179] + x[180] + x[181] + x[182] + x[183] + x[184] + x[185] + x[186] + x[187] + x[188] + x[189] + x[190] + x[191] + x[192] + x[193] + x[194] + x[195] + x[196] + x[197] + x[198] + x[199] + x[200] + x[201] + x[202] + x[203] + x[204] + x[205] + x[206] + x[207] + x[208] + x[209] + x[210] + x[211] + x[212] + x[213] + x[214] + x[215] + x[216] + x[217] + x[218] + x[219] + x[220] + x[221] + x[222] + x[223] + x[224] + x[225] + x[226] + x[227] + x[228] + x[229] + x[230] + x[231] + x[232] + x[233] + x[234] + x[235] + x[236] + x[237] + x[238] + x[239] + x[240] + x[241] + x[242] + x[243] + x[244] + x[245] + x[246] + x[247] + x[248] + x[249] + x[250] + x[251] + x[252] + x[253] + x[254] + x[255] + x[256] + x[257] + x[258] + x[259] + x[260] + x[261] + x[262] + x[263] + x[264] + x[265] + x[266] + x[267] + x[268] + x[269] + x[270] + x[271] + x[272] + x[273] + x[274] + x[275] + x[276] + x[277] + x[278] + x[279] + x[280] + x[281] + x[282] + x[283] + x[284] + x[285] + x[286] + x[287] + x[288] + x[289] + x[290] + x[291] + x[292] + x[293] + x[294] + x[295] + x[296] + x[297] + x[298] + x[299] + x[300] + x[301] + x[302] + x[303] + x[304] + x[305] + x[306] + x[307] + x[308] + x[309] + x[310] + x[311] + x[312] + x[313] + x[314] + x[315] + x[316] + x[317] + x[318] + x[319] + x[320] + x[321] + x[322] + x[323] + x[324] + x[325] + x[326] + x[327] + x[328] + x[329] + x[330] + x[331] + x[332] + x[333] + x[334] + x[335] + x[336] + x[337] + x[338] + x[339] + x[340] + x[341] + x[342] + x[343] + x[344] + x[345] + x[346] + x[347] + x[348] + x[349] + x[350] + x[351] + x[352] + x[353] + x[354] + x[355] + x[356] + x[357] + x[358] + x[359] + x[360] + x[361] + x[362] + x[363] + x[364] + x[365] + x[366] + x[367] + x[368] + x[369] + x[370] + x[371] + x[372] + x[373] + x[374] + x[375] + x[376] + x[377] + x[378] + x[379] + x[380] + x[381] + x[382] + x[383] + x[384] + x[385] + x[386] + x[387] + x[388] + x[389] + x[390] + x[391] + x[392] + x[393] + x[394] + x[395] + x[396] + x[397] + x[398] + x[399] == 8.0
 x[1] + x[14] + x[16] + x[20] + x[22] + x[36] + x[40] + x[44] + x[58] + x[61] + x[69] + x[72] + x[73] + x[82] + x[84] + x[91] + x[96] + x[102] + x[106] + x[109] + x[115] + x[119] + x[123] + x[125] + x[135] + x[137] + x[140] + x[150] + x[167] + x[169] + x[185] + x[188] + x[189] + x[193] + x[199] + x[204] + x[206] + x[212] + x[231] + x[232] + x[237] + x[250] + x[257] + x[263] + x[271] + x[272] + x[273] + x[279] + x[280] + x[284] + x[291] + x[301] + x[302] + x[303] + x[304] + x[322] + x[323] + x[325] + x[326] + x[327] + x[331] + x[332] + x[335] + x[339] + x[343] + x[344] + x[349] + x[352] + x[364] + x[366] + x[369] + x[374] + x[376] + x[378] + x[380] + x[381] + x[393] + x[396] >= 1.0
 x[2] + x[3] + x[4] + x[6] + x[17] + x[21] + x[27] + x[32] + x[37] + x[38] + x[48] + x[59] + x[67] + x[71] + x[74] + x[75] + x[81] + x[85] + x[93] + x[94] + x[95] + x[101] + x[107] + x[112] + x[116] + x[117] + x[129] + x[130] + x[136] + x[152] + x[159] + x[161] + x[163] + x[166] + x[173] + x[175] + x[177] + x[180] + x[200] + x[201] + x[205] + x[207] + x[208] + x[226] + x[228] + x[233] + x[234] + x[235] + x[242] + x[243] + x[244] + x[252] + x[278] + x[282] + x[283] + x[285] + x[288] + x[290] + x[300] + x[306] + x[307] + x[308] + x[311] + x[321] + x[328] + x[354] + x[358] + x[360] + x[365] + x[367] + x[371] + x[372] + x[382] + x[384] + x[388] + x[397] + x[398] + x[399] >= 1.0
 x[5] + x[18] + x[28] + x[29] + x[30] + x[31] + x[33] + x[41] + x[45] + x[47] + x[51] + x[52] + x[54] + x[55] + x[56] + x[60] + x[62] + x[63] + x[66] + x[79] + x[83] + x[87] + x[90] + x[92] + x[98] + x[100] + x[103] + x[104] + x[105] + x[111] + x[114] + x[118] + x[121] + x[122] + x[124] + x[126] + x[128] + x[139] + x[141] + x[143] + x[145] + x[149] + x[153] + x[154] + x[156] + x[157] + x[165] + x[170] + x[171] + x[174] + x[178] + x[191] + x[209] + x[214] + x[216] + x[220] + x[221] + x[224] + x[225] + x[241] + x[248] + x[249] + x[253] + x[255] + x[256] + x[265] + x[266] + x[267] + x[268] + x[274] + x[286] + x[292] + x[293] + x[305] + x[312] + x[315] + x[316] + x[317] + x[320] + x[324] + x[336] + x[337] + x[340] + x[341] + x[342] + x[345] + x[346] + x[353] + x[355] + x[356] + x[357] + x[361] + x[362] + x[373] + x[375] + x[386] >= 1.0
 x[7] + x[10] + x[11] + x[12] + x[19] + x[23] + x[34] + x[35] + x[39] + x[43] + x[46] + x[68] + x[70] + x[76] + x[77] + x[78] + x[80] + x[99] + x[108] + x[131] + x[133] + x[134] + x[138] + x[142] + x[144] + x[146] + x[147] + x[148] + x[155] + x[158] + x[160] + x[162] + x[182] + x[183] + x[186] + x[190] + x[195] + x[196] + x[197] + x[210] + x[211] + x[213] + x[215] + x[218] + x[219] + x[223] + x[229] + x[236] + x[239] + x[240] + x[245] + x[246] + x[258] + x[264] + x[269] + x[270] + x[275] + x[281] + x[289] + x[294] + x[297] + x[299] + x[310] + x[313] + x[314] + x[318] + x[330] + x[333] + x[338] + x[348] + x[350] + x[359] + x[363] + x[368] + x[370] + x[387] + x[390] + x[392] + x[394] + x[395] >= 1.0
 x[8] + x[9] + x[13] + x[15] + x[24] + x[25] + x[26] + x[42] + x[49] + x[50] + x[53] + x[57] + x[64] + x[65] + x[86] + x[88] + x[89] + x[97] + x[110] + x[113] + x[120] + x[127] + x[132] + x[151] + x[164] + x[168] + x[172] + x[176] + x[179] + x[181] + x[184] + x[187] + x[192] + x[194] + x[198] + x[202] + x[203] + x[217] + x[222] + x[227] + x[230] + x[238] + x[247] + x[251] + x[254] + x[259] + x[260] + x[261] + x[262] + x[276] + x[277] + x[287] + x[295] + x[296] + x[298] + x[309] + x[319] + x[329] + x[334] + x[347] + x[351] + x[377] + x[379] + x[383] + x[385] + x[389] + x[391] >= 1.0
 0.1 x[1] + 9.1 x[2] + 6.8 x[3] + 9.3 x[4] + 7.6 x[6] + 5.8 x[7] + 0.4 x[8] + 2.7 x[9] - 0.2 x[10] + 14.4 x[11] + 0.3 x[12] + 2 x[13] + 3.7 x[14] + 2.5 x[15] + 6.9 x[16] + 5.8 x[17] + 1.2 x[18] + 3.6 x[19] + 1.6 x[20] + 1.7 x[21] + x[22] + 3.6 x[23] + 1.2 x[24] + 0.3 x[25] + 3.7 x[26] + 2.4 x[27] + 0.7 x[28] + 7.6 x[29] + 4.5 x[30] + 2.5 x[31] + 1.6 x[32] + 0.9 x[33] + 0.5 x[34] + 4 x[35] + 4.8 x[36] + 2.8 x[37] + 2 x[38] + 4.5 x[39] + 8.2 x[40] + 2.7 x[41] + 6.8 x[42] + 1.4 x[43] - 0.1 x[44] + 3.5 x[45] + 0.7 x[46] + 0.3 x[47] + 0.1 x[48] + 2.9 x[49] + 2.9 x[50] + 0.8 x[51] + 6.5 x[52] + 1.5 x[54] + 3 x[55] + 2.1 x[56] + 0.6 x[57] + 2.6 x[58] + 5.6 x[59] + 3.1 x[60] + 1.9 x[61] + 1.5 x[62] + 0.1 x[63] + 7.9 x[64] + 1.5 x[65] + 4 x[66] + 10.8 x[67] + 3.1 x[68] + 1.9 x[70] + 1.9 x[71] + 0.8 x[72] + x[73] + 6.7 x[74] + 2.1 x[75] + 1.5 x[76] - 0.2 x[77] + x[78] + 1.8 x[79] + 6 x[80] + 2.9 x[81] + 8 x[82] + 3.9 x[83] + 1.8 x[84] + 2.4 x[85] + 2.5 x[86] + 0.8 x[87] + 3 x[88] + 4.4 x[89] + 2.4 x[90] + 9.7 x[91] + 0.3 x[92] + 9.5 x[93] + 5.7 x[94] + 4 x[95] + 0.5 x[96] + 0.8 x[97] + 6.3 x[98] + 2.6 x[99] + 0.8 x[100] + 2.8 x[101] + 4.8 x[102] + 0.6 x[103] + 4.9 x[104] + 1.5 x[105] + 1.6 x[106] + 10 x[107] + 1.8 x[108] + 0.6 x[109] + 11.5 x[110] + 2.6 x[111] + 8.7 x[112] + 2.6 x[113] - 0.1 x[114] + x[115] + 7.9 x[116] + 1.4 x[117] + 2.8 x[118] + 1.9 x[119] + 3.3 x[120] + 3.8 x[121] + 3.2 x[122] + 5.6 x[123] - 0.1 x[124] + 2 x[125] + 0.3 x[126] + 8.2 x[127] + 3.4 x[128] + 6 x[129] + 1.1 x[130] + 4.4 x[131] + 11.9 x[132] + 5.1 x[133] + x[134] + 3.3 x[135] + 14.4 x[136] + 5.1 x[138] + 2.6 x[139] + 0.5 x[140] + 0.5 x[141] + 7.3 x[142] + 5.9 x[143] + 4.3 x[144] + 1.9 x[145] + 2.9 x[146] + 3.6 x[147] + 8 x[148] + 1.8 x[149] + 15.2 x[150] + 3.4 x[151] + 8.7 x[152] + 2.6 x[153] + 5.5 x[154] + 7.1 x[155] + 1.4 x[156] + 2.1 x[157] + 0.5 x[158] - 0.1 x[159] + 4.9 x[160] + 0.6 x[161] + 3 x[162] + 2.6 x[163] - 0.1 x[164] + 5.9 x[165] + 1.4 x[166] + 2.8 x[167] + 0.5 x[168] + 0.9 x[169] + 5.4 x[170] + 2.1 x[171] + 1.2 x[172] + 4.3 x[173] + 2.6 x[174] + 7.5 x[175] + 2.3 x[176] + 0.6 x[177] + 1.5 x[178] + 0.6 x[179] + 6.1 x[180] + 4.2 x[181] + 3 x[182] + 6 x[183] + 2 x[184] + 9.1 x[185] + 4 x[186] + 1.9 x[187] + 0.2 x[188] + 0.4 x[189] + 3.3 x[190] - 1.7 x[191] + 2.9 x[192] + 5 x[193] + 7.2 x[194] + 0.4 x[195] + 1.5 x[197] + 0.5 x[198] + 2.3 x[199] + 11.8 x[200] + 1.5 x[201] + 2.9 x[202] + 0.2 x[203] + 3 x[204] + 7.1 x[205] + 3.5 x[206] + 1.8 x[207] + 5.4 x[208] + 2.5 x[209] + 2.5 x[210] + 3.5 x[211] - 1.3 x[213] + 1.1 x[214] + 1.4 x[215] + 2.3 x[216] + 1.6 x[217] + 3.1 x[218] + 0.3 x[219] + 5.3 x[220] + 2.8 x[221] + 3.1 x[222] + 1.6 x[223] + 0.4 x[224] + 0.7 x[225] + 3.2 x[226] + 9.5 x[227] + 3 x[228] + 0.9 x[229] + 1.7 x[230] + 12.1 x[231] + 2 x[232] + 6 x[233] + 6.7 x[234] + 2.7 x[235] + 1.3 x[236] + 6.6 x[237] + 0.2 x[238] + 0.2 x[239] + 1.2 x[240] + x[242] + 2 x[243] + 3 x[244] + 2.7 x[245] + 2.7 x[247] + 0.5 x[248] + 5.6 x[249] + 2.9 x[250] + 2.9 x[251] + 5.9 x[252] + 1.9 x[253] + 2.1 x[254] + 0.2 x[255] + 0.5 x[256] - 0.3 x[258] + 6.1 x[259] + 0.7 x[260] + 1.6 x[261] + 0.2 x[262] + 3.5 x[263] + 6.1 x[264] + 0.3 x[265] + 5 x[266] + 0.3 x[267] + 1.7 x[268] + 4.5 x[269] + 1.6 x[270] + 6.2 x[271] + 0.8 x[272] + 5.1 x[273] - 0.1 x[274] + 2.5 x[275] - 0.1 x[276] + 0.9 x[277] + 4.9 x[278] + 2 x[279] + 1.1 x[280] + 1.3 x[281] + 2.2 x[282] + 4.3 x[283] - 0.8 x[284] + 7.8 x[285] + 1.4 x[286] + 3.3 x[287] + x[288] + 0.7 x[289] + 2.2 x[290] - 0.5 x[291] + 1.2 x[292] + 2.3 x[293] + 4.7 x[294] + 1.5 x[295] + 2.2 x[296] + 1.4 x[297] + 1.1 x[299] + 6.6 x[301] + 0.5 x[302] + 1.5 x[303] + 0.1 x[304] + 5.8 x[306] + 0.5 x[307] + 5.1 x[308] + 3.2 x[309] + 1.6 x[310] + 7.5 x[311] + 2.4 x[312] + 2.1 x[313] + 6.1 x[314] + 5.9 x[315] + 5.6 x[316] + 1.2 x[317] + 0.2 x[318] + 0.7 x[319] + 0.1 x[320] + 6.1 x[321] + 1.3 x[322] + 3 x[323] + 4.3 x[324] + 3.2 x[325] + 3.7 x[326] + 5 x[327] + 7.6 x[328] + 0.5 x[329] + 3.5 x[330] + 4.7 x[331] + 2.9 x[332] + 1.6 x[333] + 1.5 x[334] - 0.6 x[335] + 3.6 x[336] + 1.4 x[337] + 9.3 x[338] + 8.2 x[339] + 0.3 x[340] + 0.1 x[341] + 5.3 x[342] + 1.7 x[344] - 0.2 x[345] + 0.1 x[346] + 3.2 x[347] + 1.2 x[348] + 0.1 x[349] - 0.2 x[350] + 5 x[351] + 2.2 x[352] + 2.2 x[353] + 3.5 x[354] - 0.3 x[355] + 5.3 x[357] + 2.6 x[358] + 1.2 x[359] + 10.4 x[360] - 0.2 x[361] + 0.9 x[362] + 5 x[363] + 2 x[364] + 6.3 x[365] + 4.2 x[367] + 0.1 x[368] + 4.3 x[369] + 3.2 x[370] + 10.1 x[371] + 0.2 x[372] + 1.2 x[373] + 7.4 x[374] + 1.2 x[376] + 1.5 x[377] + x[378] + 2.1 x[379] + 6.8 x[380] + 3.6 x[381] + 6.3 x[382] + 0.6 x[383] + x[384] + 1.2 x[385] + 5.1 x[386] + 3.8 x[387] + 1.2 x[388] + 0.4 x[389] + 1.7 x[390] + 2.8 x[391] + 0.8 x[392] + 4.3 x[393] + 0.5 x[394] + 6.9 x[395] + 3.3 x[396] + 3.9 x[397] + 2 x[398] + 3.2 x[399] >= 78.39
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
 x[139] binary
 x[140] binary
 x[141] binary
 x[142] binary
 x[143] binary
 x[144] binary
 x[145] binary
 x[146] binary
 x[147] binary
 x[148] binary
 x[149] binary
 x[150] binary
 x[151] binary
 x[152] binary
 x[153] binary
 x[154] binary
 x[155] binary
 x[156] binary
 x[157] binary
 x[158] binary
 x[159] binary
 x[160] binary
 x[161] binary
 x[162] binary
 x[163] binary
 x[164] binary
 x[165] binary
 x[166] binary
 x[167] binary
 x[168] binary
 x[169] binary
 x[170] binary
 x[171] binary
 x[172] binary
 x[173] binary
 x[174] binary
 x[175] binary
 x[176] binary
 x[177] binary
 x[178] binary
 x[179] binary
 x[180] binary
 x[181] binary
 x[182] binary
 x[183] binary
 x[184] binary
 x[185] binary
 x[186] binary
 x[187] binary
 x[188] binary
 x[189] binary
 x[190] binary
 x[191] binary
 x[192] binary
 x[193] binary
 x[194] binary
 x[195] binary
 x[196] binary
 x[197] binary
 x[198] binary
 x[199] binary
 x[200] binary
 x[201] binary
 x[202] binary
 x[203] binary
 x[204] binary
 x[205] binary
 x[206] binary
 x[207] binary
 x[208] binary
 x[209] binary
 x[210] binary
 x[211] binary
 x[212] binary
 x[213] binary
 x[214] binary
 x[215] binary
 x[216] binary
 x[217] binary
 x[218] binary
 x[219] binary
 x[220] binary
 x[221] binary
 x[222] binary
 x[223] binary
 x[224] binary
 x[225] binary
 x[226] binary
 x[227] binary
 x[228] binary
 x[229] binary
 x[230] binary
 x[231] binary
 x[232] binary
 x[233] binary
 x[234] binary
 x[235] binary
 x[236] binary
 x[237] binary
 x[238] binary
 x[239] binary
 x[240] binary
 x[241] binary
 x[242] binary
 x[243] binary
 x[244] binary
 x[245] binary
 x[246] binary
 x[247] binary
 x[248] binary
 x[249] binary
 x[250] binary
 x[251] binary
 x[252] binary
 x[253] binary
 x[254] binary
 x[255] binary
 x[256] binary
 x[257] binary
 x[258] binary
 x[259] binary
 x[260] binary
 x[261] binary
 x[262] binary
 x[263] binary
 x[264] binary
 x[265] binary
 x[266] binary
 x[267] binary
 x[268] binary
 x[269] binary
 x[270] binary
 x[271] binary
 x[272] binary
 x[273] binary
 x[274] binary
 x[275] binary
 x[276] binary
 x[277] binary
 x[278] binary
 x[279] binary
 x[280] binary
 x[281] binary
 x[282] binary
 x[283] binary
 x[284] binary
 x[285] binary
 x[286] binary
 x[287] binary
 x[288] binary
 x[289] binary
 x[290] binary
 x[291] binary
 x[292] binary
 x[293] binary
 x[294] binary
 x[295] binary
 x[296] binary
 x[297] binary
 x[298] binary
 x[299] binary
 x[300] binary
 x[301] binary
 x[302] binary
 x[303] binary
 x[304] binary
 x[305] binary
 x[306] binary
 x[307] binary
 x[308] binary
 x[309] binary
 x[310] binary
 x[311] binary
 x[312] binary
 x[313] binary
 x[314] binary
 x[315] binary
 x[316] binary
 x[317] binary
 x[318] binary
 x[319] binary
 x[320] binary
 x[321] binary
 x[322] binary
 x[323] binary
 x[324] binary
 x[325] binary
 x[326] binary
 x[327] binary
 x[328] binary
 x[329] binary
 x[330] binary
 x[331] binary
 x[332] binary
 x[333] binary
 x[334] binary
 x[335] binary
 x[336] binary
 x[337] binary
 x[338] binary
 x[339] binary
 x[340] binary
 x[341] binary
 x[342] binary
 x[343] binary
 x[344] binary
 x[345] binary
 x[346] binary
 x[347] binary
 x[348] binary
 x[349] binary
 x[350] binary
 x[351] binary
 x[352] binary
 x[353] binary
 x[354] binary
 x[355] binary
 x[356] binary
 x[357] binary
 x[358] binary
 x[359] binary
 x[360] binary
 x[361] binary
 x[362] binary
 x[363] binary
 x[364] binary
 x[365] binary
 x[366] binary
 x[367] binary
 x[368] binary
 x[369] binary
 x[370] binary
 x[371] binary
 x[372] binary
 x[373] binary
 x[374] binary
 x[375] binary
 x[376] binary
 x[377] binary
 x[378] binary
 x[379] binary
 x[380] binary
 x[381] binary
 x[382] binary
 x[383] binary
 x[384] binary
 x[385] binary
 x[386] binary
 x[387] binary
 x[388] binary
 x[389] binary
 x[390] binary
 x[391] binary
 x[392] binary
 x[393] binary
 x[394] binary
 x[395] binary
 x[396] binary
 x[397] binary
 x[398] binary
 x[399] binary
Out[32]:
true
In [33]:
println("Objective value: ", objective_value(model_dual))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 1.01034798e8
Optimal solution is x = 
[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [34]:
players[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :Salary]]
Out[34]:

8 rows × 4 columns

PlayerPosWSSalary
StringStringFloat64Int64
1Jarrett Allen\\allenja01C7.62376840
2Giannis Antetokounmpo\\antetgi01PF14.425842697
3Paul George\\georgpa01SF11.933005556
4Rudy Gobert\\goberru01C14.425008427
5Montrezl Harrell\\harremo01C8.76000000
6Buddy Hield\\hieldbu01SG5.94861208
7Monte Morris\\morrimo01PG6.21588231
8Pascal Siakam\\siakapa01PF9.32351839

Woo same team as max win shares team!

Model 5 - Dual problem (moderate performance)

What if we want to minimize salary for some acceptable (medium) level of performances?

In model 4, we minimized salary but want to achieve the optimal value of our objective (as high as our base model), and the resulting players are the same as the base model as we maximize winning chances while subject to a salary cap. Here what we try to experiment with is to see what a team looks like if we want a just-fine team(moderate performance)

In [35]:
# dual problem: minimize salary for some lower level of total win shares
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface

minws = 70

model_dual  = Model(with_optimizer(GLPK.Optimizer))

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model_dual, x[1:399], Bin)
 
# each cell must contain only one digit
@constraint(model_dual, sum(x[i] for i in PG) >= 1)
@constraint(model_dual, sum(x[i] for i in C) >= 1)
@constraint(model_dual, sum(x[i] for i in SG) >= 1)
@constraint(model_dual, sum(x[i] for i in PF) >= 1)
@constraint(model_dual, sum(x[i] for i in SF) >= 1)
@constraint(model_dual, sum(x[i] for i in 1:399) == 8)
@constraint(model_dual, sum(x[i] .* players[i,:WS] for i = 1:399) >= minws)  


# minimize salary   
@objective(model_dual, Min, sum(x[i] .* players[i,:Salary] for i = 1:399))
                    

println("The optimization problem to be solved is:")
print(model_dual)

JuMP.optimize!(model_dual)
term_status = JuMP.termination_status(model_dual)
primal_status = JuMP.primal_status(model_dual)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Min 100000 x[1] + 2.5842697e7 x[2] + 3.45408e6 x[3] + 2.6e7 x[4] + 2.4294e6 x[5] + 2.37684e6 x[6] + 9.258e6 x[7] + 98144 x[8] + 9.07305e6 x[9] + 5.714583e6 x[10] + 2.5842697e7 x[11] + 2.159029e6 x[12] + 2.2818e6 x[13] + 3.0e6 x[14] + 1.22e7 x[15] + 7.25e6 x[16] + 9.56292e6 x[17] + 1.61852e6 x[18] + 8.55612e6 x[19] + 8.71932e6 x[20] + 5.6976e6 x[21] + 2.564753e6 x[22] + 2.4147727e7 x[23] + 1.296e7 x[24] + 1.416852e6 x[25] + 2.5565217e7 x[26] + 5.45328e6 x[27] + 1.9269662e7 x[28] + 2.7093019e7 x[29] + 2.731714e6 x[30] + 5.846154e6 x[31] + 1.620564e6 x[32] + 2.603982e6 x[33] + 1.678854e6 x[34] + 7.0e6 x[35] + 1.2345679e7 x[36] + 3.0e6 x[37] + 1.7e7 x[38] + 6.825e6 x[39] + 1.5625e7 x[40] + 8.529386e6 x[41] + 1.7e7 x[42] + 1.780128e6 x[43] + 1.416852e6 x[44] + 2.725e7 x[45] + 1.588231e6 x[46] + 6.767e6 x[47] + 1.96236e6 x[48] + 4.161e6 x[49] + 3.7554e6 x[50] + 1.443842e6 x[51] + 2.0e7 x[52] + 1.61852e6 x[53] + 1.416852e6 x[54] + 6.534829e6 x[55] + 1.61852e6 x[56] + 3.21948e6 x[57] + 1.416582e6 x[58] + 7.936508e6 x[59] + 4.0e6 x[60] + 2.028594e6 x[61] + 2.320044e6 x[62] + 1.416852e6 x[63] + 3.2742e7 x[64] + 1.845301e6 x[65] + 8.089282e6 x[66] + 1.6456522e7 x[67] + 7.0e6 x[68] + 1.416852e6 x[69] + 2.564753e6 x[70] + 5.2014e6 x[71] + 2.028594e6 x[72] + 2.75e6 x[73] + 2.177483e6 x[74] + 2.564753e6 x[75] + 2.564753e6 x[76] + 1.413272e6 x[77] + 1.427191e6 x[78] + 1.34375e7 x[79] + 2.68656e6 x[80] + 4.2402e6 x[81] + 3.2511623e7 x[82] + 1.72305e6 x[83] + 3.0e6 x[84] + 3.5e6 x[85] + 1.1301219e7 x[86] + 1.85e7 x[87] + 2.1e6 x[88] + 7.815533e6 x[89] + 7.44186e6 x[90] + 4.0231758e7 x[91] + 2.028594e6 x[92] + 2.7093019e7 x[93] + 4.767e6 x[94] + 1.3333334e7 x[95] + 9.6075e6 x[96] + 4.99e6 x[97] + 2.7739975e7 x[98] + 1.678854e6 x[99] + 1.416852e6 x[100] + 1.6229213e7 x[101] + 1.06e7 x[102] + 2.9058e6 x[103] + 7.68336e6 x[104] + 1.61852e6 x[105] + 1.92179e7 x[106] + 2.7093019e7 x[107] + 2.564753e6 x[108] + 5.348007e6 x[109] + 3.7199e7 x[110] + 7.804878e6 x[111] + 2.750463e7 x[112] + 1.882867e6 x[113] + 1.92588e6 x[114] + 9.6e6 x[115] + 1.765e7 x[116] + 8.1565e6 x[117] + 2.47584e6 x[118] + 3.15e6 x[119] + 4.0e6 x[120] + 2.875e6 x[121] + 1.7e7 x[122] + 6.39276e6 x[123] + 1.416852e6 x[124] + 1.882867e6 x[125] + 9.7452e6 x[126] + 2.2615559e7 x[127] + 7.333333e6 x[128] + 2.55957e7 x[129] + 7.664753e6 x[130] + 1.4e7 x[131] + 3.3005556e7 x[132] + 9.8e6 x[133] + 2.5788e6 x[134] + 3.95292e6 x[135] + 2.5008427e7 x[136] + 522738 x[137] + 1.9863636e7 x[138] + 1.405773e7 x[139] + 1.416852e6 x[140] + 1.678854e6 x[141] + 9.346153e6 x[142] + 1.4634146e7 x[143] + 1.853913e7 x[144] + 2.564753e6 x[145] + 4.767e6 x[146] + 2.564753e6 x[147] + 3.4234964e7 x[148] + 1.815e7 x[149] + 3.78e7 x[150] + 1.1511234e7 x[151] + 6.0e6 x[152] + 1.7839286e7 x[153] + 7.67e6 x[154] + 3.1034483e7 x[155] + 898310 x[156] + 1.93416e6 x[157] + 1.416852e6 x[158] + 2.564753e6 x[159] + 3.270069e7 x[160] + 9.732396e6 x[161] + 3.32103e6 x[162] + 1.676735e6 x[163] + 1.737145e6 x[164] + 4.861208e6 x[165] + 2.564753e6 x[166] + 1.0133907e7 x[167] + 1.3258781e7 x[168] + 2.2392e6 x[169] + 2.6131111e7 x[170] + 4.767e6 x[171] + 2.5e6 x[172] + 4.767e6 x[173] + 5.718e6 x[174] + 2.8e7 x[175] + 3.54e6 x[176] + 5.60385e6 x[177] + 2.63628e6 x[178] + 2.33232e6 x[179] + 2.3271604e7 x[180] + 1.7185185e7 x[181] + 7.0e6 x[182] + 1.1954546e7 x[183] + 7.265485e6 x[184] + 3.1742e7 x[185] + 5.80644e6 x[186] + 1.61852e6 x[187] + 92857 x[188] + 1.61852e6 x[189] + 6.92748e6 x[190] + 7.05948e6 x[191] + 3.28092e6 x[192] + 1.8086956e7 x[193] + 3.7436858e7 x[194] + 1.445697e6 x[195] + 1.416852e6 x[196] + 1.53494e7 x[197] + 3.623e6 x[198] + 1.924537e7 x[199] + 2.6573595e7 x[200] + 2.305057e6 x[201] + 1.645357e6 x[202] + 199000 x[203] + 8.408e6 x[204] + 9.881598e6 x[205] + 1.2e7 x[206] + 4.767e6 x[207] + 4.767e6 x[208] + 3.82716e6 x[209] + 1.3810763e7 x[210] + 8.0e6 x[211] + 1.564375e7 x[212] + 4.38012e6 x[213] + 1.620564e6 x[214] + 2.195122e6 x[215] + 6.004753e6 x[216] + 1.699236e6 x[217] + 1.9746e6 x[218] + 2.338847e6 x[219] + 1.05e7 x[220] + 1.95e7 x[221] + 3.581986e6 x[222] + 2.81328e6 x[223] + 1.275967e7 x[224] + 842327 x[225] + 4.16e6 x[226] + 3.2742e7 x[227] + 1.1286515e7 x[228] + 3.169348e6 x[229] + 2.625718e6 x[230] + 2.9802321e7 x[231] + 666667 x[232] + 4.62963e6 x[233] + 1.2093024e7 x[234] + 4.767e6 x[235] + 2.89e7 x[236] + 3.3296296e7 x[237] + 844070 x[238] + 50000 x[239] + 5.5e6 x[240] + 81678 x[241] + 1.5450051e7 x[242] + 3.569643e6 x[243] + 3.5e6 x[244] + 5.3004e6 x[245] + 100000 x[246] + 2.564753e6 x[247] + 4.0e6 x[248] + 2.7556959e7 x[249] + 3.5e6 x[250] + 7.333334e6 x[251] + 4.0e6 x[252] + 4.62963e6 x[253] + 2.253031e6 x[254] + 2.028594e6 x[255] + 1.645357e6 x[256] + 1.416852e6 x[257] + 1.416852e6 x[258] + 3.0603448e7 x[259] + 8.730158e6 x[260] + 7.25e6 x[261] + 1.588231e6 x[262] + 1.2428571e7 x[263] + 3.05e7 x[264] + 1.445697e6 x[265] + 3.63576e6 x[266] + 4.0284e6 x[267] + 8.664928e6 x[268] + 1.5e7 x[269] + 3.2e6 x[270] + 1.588231e6 x[271] + 1.737145e6 x[272] + 4.444746e6 x[273] + 1.9116e6 x[274] + 2.028594e6 x[275] + 1.416852e6 x[276] + 1.61852e6 x[277] + 1.2727273e7 x[278] + 1.882867e6 x[279] + 1.737145e6 x[280] + 1.783557e6 x[281] + 6.431666e6 x[282] + 2.028594e6 x[283] + 4.8558e6 x[284] + 1.2e7 x[285] + 1.678854e6 x[286] + 1.61852e6 x[287] + 2.028594e6 x[288] + 1.61852e6 x[289] + 1.702486e6 x[290] + 1.416852e6 x[291] + 2.53068e6 x[292] + 2.1e7 x[293] + 1.1667885e7 x[294] + 2.907143e6 x[295] + 1.5625e7 x[296] + 6.5e6 x[297] + 2.5102511e7 x[298] + 3.06866e6 x[299] + 1.620564e6 x[300] + 3.8506482e7 x[301] + 150000 x[302] + 8.0e6 x[303] + 1.090781e6 x[304] + 1.445697e6 x[305] + 1.4041096e7 x[306] + 1.25e7 x[307] + 3.754886e6 x[308] + 2.7250576e7 x[309] + 1.5e7 x[310] + 1.0259375e7 x[311] + 1.0116576e7 x[312] + 371758 x[313] + 1.8e7 x[314] + 1.34863e7 x[315] + 1.01e7 x[316] + 2.174318e6 x[317] + 1.416852e6 x[318] + 1.882867e6 x[319] + 3.56772e6 x[320] + 1.559712e6 x[321] + 2.564753e6 x[322] + 7.317073e6 x[323] + 1.25e7 x[324] + 1.9894737e7 x[325] + 1.6190476e7 x[326] + 2.7285e7 x[327] + 3.529555e6 x[328] + 1.737145e6 x[329] + 3.481986e6 x[330] + 1.0e7 x[331] + 1.55e7 x[332] + 4.767e6 x[333] + 2.564753e6 x[334] + 4.76496e6 x[335] + 1.99512e6 x[336] + 419443 x[337] + 2.351839e6 x[338] + 8.11393e6 x[339] + 1.0e6 x[340] + 2.14956e6 x[341] + 1.2553471e7 x[342] + 4.46364e6 x[343] + 5.853659e6 x[344] + 1.456667e6 x[345] + 3.0588e6 x[346] + 1.1392857e7 x[347] + 1.8978e6 x[348] + 2.0e6 x[349] + 2.03316e6 x[350] + 7.83e6 x[351] + 1.9e7 x[352] + 4.767e6 x[353] + 5.0e6 x[354] + 2.320044e6 x[355] + 838464 x[356] + 3.2742e7 x[357] + 1.853913e7 x[358] + 2.564753e6 x[359] + 2.725e7 x[360] + 1.416852e6 x[361] + 3.5511e6 x[362] + 8.349039e6 x[363] + 1.8606557e7 x[364] + 1.8e7 x[365] + 50000 x[366] + 1.6e7 x[367] + 1.416852e6 x[368] + 9.0e6 x[369] + 2.0e6 x[370] + 2.8e7 x[371] + 2.06352e6 x[372] + 1.21e7 x[373] + 3.2742e7 x[374] + 2.76048e6 x[375] + 3.78e7 x[376] + 3.481986e6 x[377] + 1.445697e6 x[378] + 1.081e7 x[379] + 3.8178e7 x[380] + 1.94808e6 x[381] + 2.7093018e7 x[382] + 2.727e7 x[383] + 106181 x[384] + 1.416852e6 x[385] + 8.0e6 x[386] + 1.5962599e7 x[387] + 1.93752e6 x[388] + 122741 x[389] + 2.96112e6 x[390] + 1.3e7 x[391] + 1.645357e6 x[392] + 9.473684e6 x[393] + 3.11724e6 x[394] + 1.29e7 x[395] + 6.273e6 x[396] + 1.447191e7 x[397] + 2.2818e6 x[398] + 6.481482e6 x[399]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] + x[139] + x[140] + x[141] + x[142] + x[143] + x[144] + x[145] + x[146] + x[147] + x[148] + x[149] + x[150] + x[151] + x[152] + x[153] + x[154] + x[155] + x[156] + x[157] + x[158] + x[159] + x[160] + x[161] + x[162] + x[163] + x[164] + x[165] + x[166] + x[167] + x[168] + x[169] + x[170] + x[171] + x[172] + x[173] + x[174] + x[175] + x[176] + x[177] + x[178] + x[179] + x[180] + x[181] + x[182] + x[183] + x[184] + x[185] + x[186] + x[187] + x[188] + x[189] + x[190] + x[191] + x[192] + x[193] + x[194] + x[195] + x[196] + x[197] + x[198] + x[199] + x[200] + x[201] + x[202] + x[203] + x[204] + x[205] + x[206] + x[207] + x[208] + x[209] + x[210] + x[211] + x[212] + x[213] + x[214] + x[215] + x[216] + x[217] + x[218] + x[219] + x[220] + x[221] + x[222] + x[223] + x[224] + x[225] + x[226] + x[227] + x[228] + x[229] + x[230] + x[231] + x[232] + x[233] + x[234] + x[235] + x[236] + x[237] + x[238] + x[239] + x[240] + x[241] + x[242] + x[243] + x[244] + x[245] + x[246] + x[247] + x[248] + x[249] + x[250] + x[251] + x[252] + x[253] + x[254] + x[255] + x[256] + x[257] + x[258] + x[259] + x[260] + x[261] + x[262] + x[263] + x[264] + x[265] + x[266] + x[267] + x[268] + x[269] + x[270] + x[271] + x[272] + x[273] + x[274] + x[275] + x[276] + x[277] + x[278] + x[279] + x[280] + x[281] + x[282] + x[283] + x[284] + x[285] + x[286] + x[287] + x[288] + x[289] + x[290] + x[291] + x[292] + x[293] + x[294] + x[295] + x[296] + x[297] + x[298] + x[299] + x[300] + x[301] + x[302] + x[303] + x[304] + x[305] + x[306] + x[307] + x[308] + x[309] + x[310] + x[311] + x[312] + x[313] + x[314] + x[315] + x[316] + x[317] + x[318] + x[319] + x[320] + x[321] + x[322] + x[323] + x[324] + x[325] + x[326] + x[327] + x[328] + x[329] + x[330] + x[331] + x[332] + x[333] + x[334] + x[335] + x[336] + x[337] + x[338] + x[339] + x[340] + x[341] + x[342] + x[343] + x[344] + x[345] + x[346] + x[347] + x[348] + x[349] + x[350] + x[351] + x[352] + x[353] + x[354] + x[355] + x[356] + x[357] + x[358] + x[359] + x[360] + x[361] + x[362] + x[363] + x[364] + x[365] + x[366] + x[367] + x[368] + x[369] + x[370] + x[371] + x[372] + x[373] + x[374] + x[375] + x[376] + x[377] + x[378] + x[379] + x[380] + x[381] + x[382] + x[383] + x[384] + x[385] + x[386] + x[387] + x[388] + x[389] + x[390] + x[391] + x[392] + x[393] + x[394] + x[395] + x[396] + x[397] + x[398] + x[399] == 8.0
 x[1] + x[14] + x[16] + x[20] + x[22] + x[36] + x[40] + x[44] + x[58] + x[61] + x[69] + x[72] + x[73] + x[82] + x[84] + x[91] + x[96] + x[102] + x[106] + x[109] + x[115] + x[119] + x[123] + x[125] + x[135] + x[137] + x[140] + x[150] + x[167] + x[169] + x[185] + x[188] + x[189] + x[193] + x[199] + x[204] + x[206] + x[212] + x[231] + x[232] + x[237] + x[250] + x[257] + x[263] + x[271] + x[272] + x[273] + x[279] + x[280] + x[284] + x[291] + x[301] + x[302] + x[303] + x[304] + x[322] + x[323] + x[325] + x[326] + x[327] + x[331] + x[332] + x[335] + x[339] + x[343] + x[344] + x[349] + x[352] + x[364] + x[366] + x[369] + x[374] + x[376] + x[378] + x[380] + x[381] + x[393] + x[396] >= 1.0
 x[2] + x[3] + x[4] + x[6] + x[17] + x[21] + x[27] + x[32] + x[37] + x[38] + x[48] + x[59] + x[67] + x[71] + x[74] + x[75] + x[81] + x[85] + x[93] + x[94] + x[95] + x[101] + x[107] + x[112] + x[116] + x[117] + x[129] + x[130] + x[136] + x[152] + x[159] + x[161] + x[163] + x[166] + x[173] + x[175] + x[177] + x[180] + x[200] + x[201] + x[205] + x[207] + x[208] + x[226] + x[228] + x[233] + x[234] + x[235] + x[242] + x[243] + x[244] + x[252] + x[278] + x[282] + x[283] + x[285] + x[288] + x[290] + x[300] + x[306] + x[307] + x[308] + x[311] + x[321] + x[328] + x[354] + x[358] + x[360] + x[365] + x[367] + x[371] + x[372] + x[382] + x[384] + x[388] + x[397] + x[398] + x[399] >= 1.0
 x[5] + x[18] + x[28] + x[29] + x[30] + x[31] + x[33] + x[41] + x[45] + x[47] + x[51] + x[52] + x[54] + x[55] + x[56] + x[60] + x[62] + x[63] + x[66] + x[79] + x[83] + x[87] + x[90] + x[92] + x[98] + x[100] + x[103] + x[104] + x[105] + x[111] + x[114] + x[118] + x[121] + x[122] + x[124] + x[126] + x[128] + x[139] + x[141] + x[143] + x[145] + x[149] + x[153] + x[154] + x[156] + x[157] + x[165] + x[170] + x[171] + x[174] + x[178] + x[191] + x[209] + x[214] + x[216] + x[220] + x[221] + x[224] + x[225] + x[241] + x[248] + x[249] + x[253] + x[255] + x[256] + x[265] + x[266] + x[267] + x[268] + x[274] + x[286] + x[292] + x[293] + x[305] + x[312] + x[315] + x[316] + x[317] + x[320] + x[324] + x[336] + x[337] + x[340] + x[341] + x[342] + x[345] + x[346] + x[353] + x[355] + x[356] + x[357] + x[361] + x[362] + x[373] + x[375] + x[386] >= 1.0
 x[7] + x[10] + x[11] + x[12] + x[19] + x[23] + x[34] + x[35] + x[39] + x[43] + x[46] + x[68] + x[70] + x[76] + x[77] + x[78] + x[80] + x[99] + x[108] + x[131] + x[133] + x[134] + x[138] + x[142] + x[144] + x[146] + x[147] + x[148] + x[155] + x[158] + x[160] + x[162] + x[182] + x[183] + x[186] + x[190] + x[195] + x[196] + x[197] + x[210] + x[211] + x[213] + x[215] + x[218] + x[219] + x[223] + x[229] + x[236] + x[239] + x[240] + x[245] + x[246] + x[258] + x[264] + x[269] + x[270] + x[275] + x[281] + x[289] + x[294] + x[297] + x[299] + x[310] + x[313] + x[314] + x[318] + x[330] + x[333] + x[338] + x[348] + x[350] + x[359] + x[363] + x[368] + x[370] + x[387] + x[390] + x[392] + x[394] + x[395] >= 1.0
 x[8] + x[9] + x[13] + x[15] + x[24] + x[25] + x[26] + x[42] + x[49] + x[50] + x[53] + x[57] + x[64] + x[65] + x[86] + x[88] + x[89] + x[97] + x[110] + x[113] + x[120] + x[127] + x[132] + x[151] + x[164] + x[168] + x[172] + x[176] + x[179] + x[181] + x[184] + x[187] + x[192] + x[194] + x[198] + x[202] + x[203] + x[217] + x[222] + x[227] + x[230] + x[238] + x[247] + x[251] + x[254] + x[259] + x[260] + x[261] + x[262] + x[276] + x[277] + x[287] + x[295] + x[296] + x[298] + x[309] + x[319] + x[329] + x[334] + x[347] + x[351] + x[377] + x[379] + x[383] + x[385] + x[389] + x[391] >= 1.0
 0.1 x[1] + 9.1 x[2] + 6.8 x[3] + 9.3 x[4] + 7.6 x[6] + 5.8 x[7] + 0.4 x[8] + 2.7 x[9] - 0.2 x[10] + 14.4 x[11] + 0.3 x[12] + 2 x[13] + 3.7 x[14] + 2.5 x[15] + 6.9 x[16] + 5.8 x[17] + 1.2 x[18] + 3.6 x[19] + 1.6 x[20] + 1.7 x[21] + x[22] + 3.6 x[23] + 1.2 x[24] + 0.3 x[25] + 3.7 x[26] + 2.4 x[27] + 0.7 x[28] + 7.6 x[29] + 4.5 x[30] + 2.5 x[31] + 1.6 x[32] + 0.9 x[33] + 0.5 x[34] + 4 x[35] + 4.8 x[36] + 2.8 x[37] + 2 x[38] + 4.5 x[39] + 8.2 x[40] + 2.7 x[41] + 6.8 x[42] + 1.4 x[43] - 0.1 x[44] + 3.5 x[45] + 0.7 x[46] + 0.3 x[47] + 0.1 x[48] + 2.9 x[49] + 2.9 x[50] + 0.8 x[51] + 6.5 x[52] + 1.5 x[54] + 3 x[55] + 2.1 x[56] + 0.6 x[57] + 2.6 x[58] + 5.6 x[59] + 3.1 x[60] + 1.9 x[61] + 1.5 x[62] + 0.1 x[63] + 7.9 x[64] + 1.5 x[65] + 4 x[66] + 10.8 x[67] + 3.1 x[68] + 1.9 x[70] + 1.9 x[71] + 0.8 x[72] + x[73] + 6.7 x[74] + 2.1 x[75] + 1.5 x[76] - 0.2 x[77] + x[78] + 1.8 x[79] + 6 x[80] + 2.9 x[81] + 8 x[82] + 3.9 x[83] + 1.8 x[84] + 2.4 x[85] + 2.5 x[86] + 0.8 x[87] + 3 x[88] + 4.4 x[89] + 2.4 x[90] + 9.7 x[91] + 0.3 x[92] + 9.5 x[93] + 5.7 x[94] + 4 x[95] + 0.5 x[96] + 0.8 x[97] + 6.3 x[98] + 2.6 x[99] + 0.8 x[100] + 2.8 x[101] + 4.8 x[102] + 0.6 x[103] + 4.9 x[104] + 1.5 x[105] + 1.6 x[106] + 10 x[107] + 1.8 x[108] + 0.6 x[109] + 11.5 x[110] + 2.6 x[111] + 8.7 x[112] + 2.6 x[113] - 0.1 x[114] + x[115] + 7.9 x[116] + 1.4 x[117] + 2.8 x[118] + 1.9 x[119] + 3.3 x[120] + 3.8 x[121] + 3.2 x[122] + 5.6 x[123] - 0.1 x[124] + 2 x[125] + 0.3 x[126] + 8.2 x[127] + 3.4 x[128] + 6 x[129] + 1.1 x[130] + 4.4 x[131] + 11.9 x[132] + 5.1 x[133] + x[134] + 3.3 x[135] + 14.4 x[136] + 5.1 x[138] + 2.6 x[139] + 0.5 x[140] + 0.5 x[141] + 7.3 x[142] + 5.9 x[143] + 4.3 x[144] + 1.9 x[145] + 2.9 x[146] + 3.6 x[147] + 8 x[148] + 1.8 x[149] + 15.2 x[150] + 3.4 x[151] + 8.7 x[152] + 2.6 x[153] + 5.5 x[154] + 7.1 x[155] + 1.4 x[156] + 2.1 x[157] + 0.5 x[158] - 0.1 x[159] + 4.9 x[160] + 0.6 x[161] + 3 x[162] + 2.6 x[163] - 0.1 x[164] + 5.9 x[165] + 1.4 x[166] + 2.8 x[167] + 0.5 x[168] + 0.9 x[169] + 5.4 x[170] + 2.1 x[171] + 1.2 x[172] + 4.3 x[173] + 2.6 x[174] + 7.5 x[175] + 2.3 x[176] + 0.6 x[177] + 1.5 x[178] + 0.6 x[179] + 6.1 x[180] + 4.2 x[181] + 3 x[182] + 6 x[183] + 2 x[184] + 9.1 x[185] + 4 x[186] + 1.9 x[187] + 0.2 x[188] + 0.4 x[189] + 3.3 x[190] - 1.7 x[191] + 2.9 x[192] + 5 x[193] + 7.2 x[194] + 0.4 x[195] + 1.5 x[197] + 0.5 x[198] + 2.3 x[199] + 11.8 x[200] + 1.5 x[201] + 2.9 x[202] + 0.2 x[203] + 3 x[204] + 7.1 x[205] + 3.5 x[206] + 1.8 x[207] + 5.4 x[208] + 2.5 x[209] + 2.5 x[210] + 3.5 x[211] - 1.3 x[213] + 1.1 x[214] + 1.4 x[215] + 2.3 x[216] + 1.6 x[217] + 3.1 x[218] + 0.3 x[219] + 5.3 x[220] + 2.8 x[221] + 3.1 x[222] + 1.6 x[223] + 0.4 x[224] + 0.7 x[225] + 3.2 x[226] + 9.5 x[227] + 3 x[228] + 0.9 x[229] + 1.7 x[230] + 12.1 x[231] + 2 x[232] + 6 x[233] + 6.7 x[234] + 2.7 x[235] + 1.3 x[236] + 6.6 x[237] + 0.2 x[238] + 0.2 x[239] + 1.2 x[240] + x[242] + 2 x[243] + 3 x[244] + 2.7 x[245] + 2.7 x[247] + 0.5 x[248] + 5.6 x[249] + 2.9 x[250] + 2.9 x[251] + 5.9 x[252] + 1.9 x[253] + 2.1 x[254] + 0.2 x[255] + 0.5 x[256] - 0.3 x[258] + 6.1 x[259] + 0.7 x[260] + 1.6 x[261] + 0.2 x[262] + 3.5 x[263] + 6.1 x[264] + 0.3 x[265] + 5 x[266] + 0.3 x[267] + 1.7 x[268] + 4.5 x[269] + 1.6 x[270] + 6.2 x[271] + 0.8 x[272] + 5.1 x[273] - 0.1 x[274] + 2.5 x[275] - 0.1 x[276] + 0.9 x[277] + 4.9 x[278] + 2 x[279] + 1.1 x[280] + 1.3 x[281] + 2.2 x[282] + 4.3 x[283] - 0.8 x[284] + 7.8 x[285] + 1.4 x[286] + 3.3 x[287] + x[288] + 0.7 x[289] + 2.2 x[290] - 0.5 x[291] + 1.2 x[292] + 2.3 x[293] + 4.7 x[294] + 1.5 x[295] + 2.2 x[296] + 1.4 x[297] + 1.1 x[299] + 6.6 x[301] + 0.5 x[302] + 1.5 x[303] + 0.1 x[304] + 5.8 x[306] + 0.5 x[307] + 5.1 x[308] + 3.2 x[309] + 1.6 x[310] + 7.5 x[311] + 2.4 x[312] + 2.1 x[313] + 6.1 x[314] + 5.9 x[315] + 5.6 x[316] + 1.2 x[317] + 0.2 x[318] + 0.7 x[319] + 0.1 x[320] + 6.1 x[321] + 1.3 x[322] + 3 x[323] + 4.3 x[324] + 3.2 x[325] + 3.7 x[326] + 5 x[327] + 7.6 x[328] + 0.5 x[329] + 3.5 x[330] + 4.7 x[331] + 2.9 x[332] + 1.6 x[333] + 1.5 x[334] - 0.6 x[335] + 3.6 x[336] + 1.4 x[337] + 9.3 x[338] + 8.2 x[339] + 0.3 x[340] + 0.1 x[341] + 5.3 x[342] + 1.7 x[344] - 0.2 x[345] + 0.1 x[346] + 3.2 x[347] + 1.2 x[348] + 0.1 x[349] - 0.2 x[350] + 5 x[351] + 2.2 x[352] + 2.2 x[353] + 3.5 x[354] - 0.3 x[355] + 5.3 x[357] + 2.6 x[358] + 1.2 x[359] + 10.4 x[360] - 0.2 x[361] + 0.9 x[362] + 5 x[363] + 2 x[364] + 6.3 x[365] + 4.2 x[367] + 0.1 x[368] + 4.3 x[369] + 3.2 x[370] + 10.1 x[371] + 0.2 x[372] + 1.2 x[373] + 7.4 x[374] + 1.2 x[376] + 1.5 x[377] + x[378] + 2.1 x[379] + 6.8 x[380] + 3.6 x[381] + 6.3 x[382] + 0.6 x[383] + x[384] + 1.2 x[385] + 5.1 x[386] + 3.8 x[387] + 1.2 x[388] + 0.4 x[389] + 1.7 x[390] + 2.8 x[391] + 0.8 x[392] + 4.3 x[393] + 0.5 x[394] + 6.9 x[395] + 3.3 x[396] + 3.9 x[397] + 2 x[398] + 3.2 x[399] >= 70.0
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
 x[139] binary
 x[140] binary
 x[141] binary
 x[142] binary
 x[143] binary
 x[144] binary
 x[145] binary
 x[146] binary
 x[147] binary
 x[148] binary
 x[149] binary
 x[150] binary
 x[151] binary
 x[152] binary
 x[153] binary
 x[154] binary
 x[155] binary
 x[156] binary
 x[157] binary
 x[158] binary
 x[159] binary
 x[160] binary
 x[161] binary
 x[162] binary
 x[163] binary
 x[164] binary
 x[165] binary
 x[166] binary
 x[167] binary
 x[168] binary
 x[169] binary
 x[170] binary
 x[171] binary
 x[172] binary
 x[173] binary
 x[174] binary
 x[175] binary
 x[176] binary
 x[177] binary
 x[178] binary
 x[179] binary
 x[180] binary
 x[181] binary
 x[182] binary
 x[183] binary
 x[184] binary
 x[185] binary
 x[186] binary
 x[187] binary
 x[188] binary
 x[189] binary
 x[190] binary
 x[191] binary
 x[192] binary
 x[193] binary
 x[194] binary
 x[195] binary
 x[196] binary
 x[197] binary
 x[198] binary
 x[199] binary
 x[200] binary
 x[201] binary
 x[202] binary
 x[203] binary
 x[204] binary
 x[205] binary
 x[206] binary
 x[207] binary
 x[208] binary
 x[209] binary
 x[210] binary
 x[211] binary
 x[212] binary
 x[213] binary
 x[214] binary
 x[215] binary
 x[216] binary
 x[217] binary
 x[218] binary
 x[219] binary
 x[220] binary
 x[221] binary
 x[222] binary
 x[223] binary
 x[224] binary
 x[225] binary
 x[226] binary
 x[227] binary
 x[228] binary
 x[229] binary
 x[230] binary
 x[231] binary
 x[232] binary
 x[233] binary
 x[234] binary
 x[235] binary
 x[236] binary
 x[237] binary
 x[238] binary
 x[239] binary
 x[240] binary
 x[241] binary
 x[242] binary
 x[243] binary
 x[244] binary
 x[245] binary
 x[246] binary
 x[247] binary
 x[248] binary
 x[249] binary
 x[250] binary
 x[251] binary
 x[252] binary
 x[253] binary
 x[254] binary
 x[255] binary
 x[256] binary
 x[257] binary
 x[258] binary
 x[259] binary
 x[260] binary
 x[261] binary
 x[262] binary
 x[263] binary
 x[264] binary
 x[265] binary
 x[266] binary
 x[267] binary
 x[268] binary
 x[269] binary
 x[270] binary
 x[271] binary
 x[272] binary
 x[273] binary
 x[274] binary
 x[275] binary
 x[276] binary
 x[277] binary
 x[278] binary
 x[279] binary
 x[280] binary
 x[281] binary
 x[282] binary
 x[283] binary
 x[284] binary
 x[285] binary
 x[286] binary
 x[287] binary
 x[288] binary
 x[289] binary
 x[290] binary
 x[291] binary
 x[292] binary
 x[293] binary
 x[294] binary
 x[295] binary
 x[296] binary
 x[297] binary
 x[298] binary
 x[299] binary
 x[300] binary
 x[301] binary
 x[302] binary
 x[303] binary
 x[304] binary
 x[305] binary
 x[306] binary
 x[307] binary
 x[308] binary
 x[309] binary
 x[310] binary
 x[311] binary
 x[312] binary
 x[313] binary
 x[314] binary
 x[315] binary
 x[316] binary
 x[317] binary
 x[318] binary
 x[319] binary
 x[320] binary
 x[321] binary
 x[322] binary
 x[323] binary
 x[324] binary
 x[325] binary
 x[326] binary
 x[327] binary
 x[328] binary
 x[329] binary
 x[330] binary
 x[331] binary
 x[332] binary
 x[333] binary
 x[334] binary
 x[335] binary
 x[336] binary
 x[337] binary
 x[338] binary
 x[339] binary
 x[340] binary
 x[341] binary
 x[342] binary
 x[343] binary
 x[344] binary
 x[345] binary
 x[346] binary
 x[347] binary
 x[348] binary
 x[349] binary
 x[350] binary
 x[351] binary
 x[352] binary
 x[353] binary
 x[354] binary
 x[355] binary
 x[356] binary
 x[357] binary
 x[358] binary
 x[359] binary
 x[360] binary
 x[361] binary
 x[362] binary
 x[363] binary
 x[364] binary
 x[365] binary
 x[366] binary
 x[367] binary
 x[368] binary
 x[369] binary
 x[370] binary
 x[371] binary
 x[372] binary
 x[373] binary
 x[374] binary
 x[375] binary
 x[376] binary
 x[377] binary
 x[378] binary
 x[379] binary
 x[380] binary
 x[381] binary
 x[382] binary
 x[383] binary
 x[384] binary
 x[385] binary
 x[386] binary
 x[387] binary
 x[388] binary
 x[389] binary
 x[390] binary
 x[391] binary
 x[392] binary
 x[393] binary
 x[394] binary
 x[395] binary
 x[396] binary
 x[397] binary
 x[398] binary
 x[399] binary
Out[35]:
true
In [36]:
println("Objective value: ", objective_value(model_dual))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 7.3388797e7
Optimal solution is x = 
[0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [37]:
players[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :Salary]]
Out[37]:

8 rows × 4 columns

PlayerPosWSSalary
StringStringFloat64Int64
1Jarrett Allen\\allenja01C7.62376840
2Giannis Antetokounmpo\\antetgi01PF14.425842697
3Rudy Gobert\\goberru01C14.425008427
4Buddy Hield\\hieldbu01SG5.94861208
5Monte Morris\\morrimo01PG6.21588231
6Domantas Sabonis\\sabondo01C7.63529555
7Pascal Siakam\\siakapa01PF9.32351839
8Jayson Tatum\\tatumja01SF5.07830000
In [38]:
sum(players[JuMP.value.(x) .== 1.0, :Salary])
Out[38]:
73388797
In [39]:
sum(players[JuMP.value.(x) .== 1.0, :WS])
Out[39]:
70.4

Model 7 : free agents only

Right now we are playing the real-game as we only consider free agents players (those who are available on the market).

In [5]:
players[:, Symbol("20_21_Salary")] .= 0.0
Out[5]:
399-element Array{Float64,1}:
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 ⋮  
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
 0.0
In [6]:
players[:, :freeAgent] .= 0
Out[6]:
399-element Array{Int64,1}:
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 ⋮
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
 0
In [7]:
for i in 1:nrow(players)
    nextYearSalary = salaries_df[in.(salaries_df.Player, Ref([players[i, :Player]])), Symbol("20_21_Salary")]
    if ismissing(nextYearSalary[1])
        players[i, :freeAgent] = 1
    end
end
In [8]:
freeAgents = players[(players[:freeAgent].==1),:]
freeAgents
┌ Warning: `getindex(df::DataFrame, col_ind::ColumnIndex)` is deprecated, use `df[!, col_ind]` instead.
│   caller = top-level scope at In[8]:1
└ @ Core In[8]:1
Out[8]:

138 rows × 33 columns (omitted printing of 26 columns)

RkPlayerPosAgeTmGMP
Int64StringStringInt64StringInt64Int64
13Jaylen Adams\\adamsja01PG22ATL34428
214Justin Anderson\\anderju01SF25ATL48463
320Carmelo Anthony\\anthoca01PF34HOU10294
424D.J. Augustin\\augusdj01PG31ORL812269
526Dwayne Bacon\\bacondw01SG23CHO43759
632J.J. Barea\\bareajo01PG34DAL38752
738Aron Baynes\\baynear01C32BOS51821
839Kent Bazemore\\bazemke01SG29ATL671643
941Malik Beasley\\beaslma01SG22DEN811879
1043Marco Belinelli\\belinma01SG32SAS791815
1144Jordan Bell\\belljo01C24GSW68788
1245DeAndre' Bembry\\bembrde01SG24ATL821931
1346Dragan Bender\\bendedr01PF21PHO46826
1448D?vis Bert?ns\\bertada01PF26SAS761632
1551Bismack Biyombo\\biyombi01C26CHO54783
1656Bogdan Bogdanovi?\\bogdabo01SG26SAC701947
1759Jonah Bolden\\boldejo01PF23PHI44639
1862Chris Boucher\\bouchch01PF26TOR28163
1969Ryan Broekhoff\\broekry01SG28DAL42453
2076Sterling Brown\\brownst02SG23MIL581034
2181Trey Burke\\burketr01PG26TOT581125
2282Alec Burks\\burksal01SG27TOT641375
2383Deonte Burton\\burtode02SG25OKC32240
2485Bruno Caboclo\\cabocbr01SF23MEM34800
2591Jevon Carter\\carteje01PG23MEM39577
2692Vince Carter\\cartevi01PF42ATL761330
2794Michael Carter-Williams\\cartemi01PG27TOT28372
28100Tyson Chandler\\chandty01C36TOT55875
29101Wilson Chandler\\chandwi01PF31TOT511177
30104Marquese Chriss\\chrisma01PF21TOT43499
In [9]:
faPG = [i for i=1:size(freeAgents)[1] if freeAgents[i,:Pos] .== "PG" ]
faC = [i for i=1:size(freeAgents)[1] if freeAgents[i,:Pos] .== "C" ]
faSG = [i for i=1:size(freeAgents)[1] if freeAgents[i,:Pos] .== "SG" ]
faPF = [i for i=1:size(freeAgents)[1] if freeAgents[i,:Pos] .== "PF" ]
faSF = [i for i=1:size(freeAgents)[1] if freeAgents[i,:Pos] .== "SF" ]
Out[9]:
18-element Array{Int64,1}:
   2
  24
  36
  37
  48
  56
  65
  67
  70
  71
  79
  80
  95
  96
 107
 116
 118
 134
In [15]:
using JuMP, GLPK, Test
const MOI = JuMP. MathOptInterface


model_fa  = Model(GLPK.Optimizer)

#  When X[i] == 1, the player is selected, 0 not selected
@variable(model_fa, x[1:138], Bin)
 
# each cell must contain only one digit
@constraint(model_fa, sum(x[i] for i in faPG) >= 1)
@constraint(model_fa, sum(x[i] for i in faC) >= 1)
@constraint(model_fa, sum(x[i] for i in faSG) >= 1)
@constraint(model_fa, sum(x[i] for i in faPF) >= 1)
@constraint(model_fa, sum(x[i] for i in faSF) >= 1)
@constraint(model_fa, sum(x[i] for i in 1:138) == 8)
@constraint(model_fa, sum(x[i] .* freeAgents[i,:Salary] for i = 1:138) <=  102000000)  


# maximize win shares    
@objective(model_fa, Max, sum(x[i] .* freeAgents[i,:WS] for i = 1:138))
                    

println("The optimization problem to be solved is:")
print(model_fa)

JuMP.optimize!(model_fa)
term_status = JuMP.termination_status(model_fa)
primal_status = JuMP.primal_status(model_fa)
is_optimal = term_status == MOI.OPTIMAL
The optimization problem to be solved is:
Max 0.1 x[1] + 0.4 x[2] + 0.3 x[3] + 6.9 x[4] + 1.2 x[5] + x[6] + 2.4 x[7] + 0.7 x[8] + 4.5 x[9] + 2.5 x[10] + 1.6 x[11] + 0.9 x[12] + 0.5 x[13] + 4 x[14] + 2 x[15] + 2.7 x[16] + 1.4 x[17] + 0.7 x[18] + 0.8 x[19] + 2.1 x[20] + 1.9 x[21] + 1.5 x[22] + 0.1 x[23] + 1.5 x[24] + 1.9 x[26] + 0.8 x[27] + 2.1 x[28] + 1.5 x[29] - 0.2 x[30] + x[31] + 1.8 x[32] + 3.9 x[33] + 2.4 x[34] + 0.8 x[35] + 3 x[36] + 4.4 x[37] + 0.3 x[38] + 0.5 x[39] + 1.5 x[40] + 1.6 x[41] + 1.8 x[42] + 0.6 x[43] + 7.9 x[44] + 1.9 x[45] + 3.8 x[46] + 2 x[47] + 8.2 x[48] + 3.4 x[49] + 6 x[50] + 1.1 x[51] + x[52] + 0.5 x[53] + 1.9 x[54] + 3.6 x[55] + 3.4 x[56] + 8.7 x[57] + 5.5 x[58] + 1.4 x[59] - 0.1 x[60] + 0.6 x[61] + 3 x[62] + 2.6 x[63] + 1.4 x[64] + 0.5 x[65] + 2.1 x[66] + 1.2 x[67] + 0.6 x[68] + 6.1 x[69] + 2 x[70] + 1.9 x[71] + 0.4 x[72] - 1.7 x[73] + 5 x[74] + 0.4 x[75] + 2.3 x[77] + 1.5 x[78] + 2.9 x[79] + 0.2 x[80] + 2.5 x[81] + 2.3 x[83] + 0.3 x[84] + 0.4 x[85] + 3.2 x[86] + 3 x[87] + 0.2 x[88] + x[90] + 2 x[91] + 0.5 x[93] + 0.7 x[95] + 0.2 x[96] + 6.1 x[97] + 1.7 x[98] + 4.5 x[99] + 0.8 x[100] + 2 x[101] + 1.1 x[102] + 4.3 x[103] + 1.4 x[104] + x[105] + 2.2 x[106] + 1.1 x[108] + 0.5 x[110] + 0.1 x[111] + 5.8 x[112] + 0.5 x[113] + 5.1 x[114] + 2.1 x[115] + 0.5 x[116] + 3.5 x[117] + 1.5 x[118] + 1.4 x[119] + 0.3 x[120] - 0.2 x[121] + 2.2 x[122] - 0.3 x[123] + 2.6 x[124] + 1.2 x[125] + 0.9 x[126] + 2 x[127] + 4.3 x[129] + 3.2 x[130] + x[131] + 6.3 x[132] + x[133] + 1.2 x[134] + 3.8 x[135] + 0.8 x[136] + 0.5 x[137] + 2 x[138]
Subject to
 x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7] + x[8] + x[9] + x[10] + x[11] + x[12] + x[13] + x[14] + x[15] + x[16] + x[17] + x[18] + x[19] + x[20] + x[21] + x[22] + x[23] + x[24] + x[25] + x[26] + x[27] + x[28] + x[29] + x[30] + x[31] + x[32] + x[33] + x[34] + x[35] + x[36] + x[37] + x[38] + x[39] + x[40] + x[41] + x[42] + x[43] + x[44] + x[45] + x[46] + x[47] + x[48] + x[49] + x[50] + x[51] + x[52] + x[53] + x[54] + x[55] + x[56] + x[57] + x[58] + x[59] + x[60] + x[61] + x[62] + x[63] + x[64] + x[65] + x[66] + x[67] + x[68] + x[69] + x[70] + x[71] + x[72] + x[73] + x[74] + x[75] + x[76] + x[77] + x[78] + x[79] + x[80] + x[81] + x[82] + x[83] + x[84] + x[85] + x[86] + x[87] + x[88] + x[89] + x[90] + x[91] + x[92] + x[93] + x[94] + x[95] + x[96] + x[97] + x[98] + x[99] + x[100] + x[101] + x[102] + x[103] + x[104] + x[105] + x[106] + x[107] + x[108] + x[109] + x[110] + x[111] + x[112] + x[113] + x[114] + x[115] + x[116] + x[117] + x[118] + x[119] + x[120] + x[121] + x[122] + x[123] + x[124] + x[125] + x[126] + x[127] + x[128] + x[129] + x[130] + x[131] + x[132] + x[133] + x[134] + x[135] + x[136] + x[137] + x[138] = 8.0
 x[1] + x[4] + x[6] + x[21] + x[25] + x[27] + x[39] + x[41] + x[43] + x[45] + x[47] + x[72] + x[74] + x[77] + x[82] + x[94] + x[100] + x[101] + x[102] + x[110] + x[111] + x[122] + x[127] + x[128] + x[129] + x[131] ≥ 1.0
 x[7] + x[11] + x[15] + x[28] + x[34] + x[44] + x[50] + x[51] + x[57] + x[60] + x[61] + x[63] + x[64] + x[68] + x[69] + x[78] + x[86] + x[87] + x[90] + x[91] + x[103] + x[105] + x[106] + x[109] + x[112] + x[113] + x[114] + x[124] + x[132] + x[133] + x[138] ≥ 1.0
 x[5] + x[8] + x[9] + x[10] + x[12] + x[16] + x[19] + x[20] + x[22] + x[23] + x[32] + x[33] + x[35] + x[38] + x[40] + x[46] + x[49] + x[53] + x[54] + x[58] + x[59] + x[66] + x[73] + x[83] + x[85] + x[89] + x[93] + x[98] + x[104] + x[119] + x[120] + x[123] + x[126] ≥ 1.0
 x[3] + x[13] + x[14] + x[17] + x[18] + x[26] + x[29] + x[30] + x[31] + x[42] + x[52] + x[55] + x[62] + x[75] + x[76] + x[81] + x[84] + x[88] + x[92] + x[97] + x[99] + x[108] + x[115] + x[117] + x[121] + x[125] + x[130] + x[135] + x[136] + x[137] ≥ 1.0
 x[2] + x[24] + x[36] + x[37] + x[48] + x[56] + x[65] + x[67] + x[70] + x[71] + x[79] + x[80] + x[95] + x[96] + x[107] + x[116] + x[118] + x[134] ≥ 1.0
 100000 x[1] + 98144 x[2] + 2.159029e6 x[3] + 7.25e6 x[4] + 1.61852e6 x[5] + 2.564753e6 x[6] + 5.45328e6 x[7] + 1.9269662e7 x[8] + 2.731714e6 x[9] + 5.846154e6 x[10] + 1.620564e6 x[11] + 2.603982e6 x[12] + 1.678854e6 x[13] + 7.0e6 x[14] + 1.7e7 x[15] + 8.529386e6 x[16] + 1.780128e6 x[17] + 1.588231e6 x[18] + 1.443842e6 x[19] + 1.61852e6 x[20] + 2.028594e6 x[21] + 2.320044e6 x[22] + 1.416852e6 x[23] + 1.845301e6 x[24] + 1.416852e6 x[25] + 2.564753e6 x[26] + 2.028594e6 x[27] + 2.564753e6 x[28] + 2.564753e6 x[29] + 1.413272e6 x[30] + 1.427191e6 x[31] + 1.34375e7 x[32] + 1.72305e6 x[33] + 3.5e6 x[34] + 1.85e7 x[35] + 2.1e6 x[36] + 7.815533e6 x[37] + 2.028594e6 x[38] + 9.6075e6 x[39] + 1.61852e6 x[40] + 1.92179e7 x[41] + 2.564753e6 x[42] + 5.348007e6 x[43] + 1.765e7 x[44] + 3.15e6 x[45] + 2.875e6 x[46] + 1.882867e6 x[47] + 2.2615559e7 x[48] + 7.333333e6 x[49] + 2.55957e7 x[50] + 7.664753e6 x[51] + 2.5788e6 x[52] + 1.678854e6 x[53] + 2.564753e6 x[54] + 2.564753e6 x[55] + 1.1511234e7 x[56] + 6.0e6 x[57] + 7.67e6 x[58] + 898310 x[59] + 2.564753e6 x[60] + 9.732396e6 x[61] + 3.32103e6 x[62] + 1.676735e6 x[63] + 2.564753e6 x[64] + 1.3258781e7 x[65] + 4.767e6 x[66] + 2.5e6 x[67] + 5.60385e6 x[68] + 2.3271604e7 x[69] + 7.265485e6 x[70] + 1.61852e6 x[71] + 1.61852e6 x[72] + 7.05948e6 x[73] + 1.8086956e7 x[74] + 1.445697e6 x[75] + 1.416852e6 x[76] + 1.924537e7 x[77] + 2.305057e6 x[78] + 1.645357e6 x[79] + 199000 x[80] + 1.3810763e7 x[81] + 1.564375e7 x[82] + 6.004753e6 x[83] + 2.338847e6 x[84] + 1.275967e7 x[85] + 4.16e6 x[86] + 1.1286515e7 x[87] + 50000 x[88] + 81678 x[89] + 1.5450051e7 x[90] + 3.569643e6 x[91] + 100000 x[92] + 1.645357e6 x[93] + 1.416852e6 x[94] + 8.730158e6 x[95] + 1.588231e6 x[96] + 3.05e7 x[97] + 8.664928e6 x[98] + 1.5e7 x[99] + 1.737145e6 x[100] + 1.882867e6 x[101] + 1.737145e6 x[102] + 2.028594e6 x[103] + 1.678854e6 x[104] + 2.028594e6 x[105] + 1.702486e6 x[106] + 2.5102511e7 x[107] + 3.06866e6 x[108] + 1.620564e6 x[109] + 150000 x[110] + 1.090781e6 x[111] + 1.4041096e7 x[112] + 1.25e7 x[113] + 3.754886e6 x[114] + 371758 x[115] + 1.737145e6 x[116] + 3.481986e6 x[117] + 2.564753e6 x[118] + 419443 x[119] + 1.0e6 x[120] + 2.03316e6 x[121] + 1.9e7 x[122] + 2.320044e6 x[123] + 1.853913e7 x[124] + 2.564753e6 x[125] + 3.5511e6 x[126] + 1.8606557e7 x[127] + 50000 x[128] + 9.0e6 x[129] + 2.0e6 x[130] + 1.445697e6 x[131] + 2.7093018e7 x[132] + 106181 x[133] + 1.416852e6 x[134] + 1.5962599e7 x[135] + 1.645357e6 x[136] + 3.11724e6 x[137] + 2.2818e6 x[138] ≤ 1.02e8
 x[1] binary
 x[2] binary
 x[3] binary
 x[4] binary
 x[5] binary
 x[6] binary
 x[7] binary
 x[8] binary
 x[9] binary
 x[10] binary
 x[11] binary
 x[12] binary
 x[13] binary
 x[14] binary
 x[15] binary
 x[16] binary
 x[17] binary
 x[18] binary
 x[19] binary
 x[20] binary
 x[21] binary
 x[22] binary
 x[23] binary
 x[24] binary
 x[25] binary
 x[26] binary
 x[27] binary
 x[28] binary
 x[29] binary
 x[30] binary
 x[31] binary
 x[32] binary
 x[33] binary
 x[34] binary
 x[35] binary
 x[36] binary
 x[37] binary
 x[38] binary
 x[39] binary
 x[40] binary
 x[41] binary
 x[42] binary
 x[43] binary
 x[44] binary
 x[45] binary
 x[46] binary
 x[47] binary
 x[48] binary
 x[49] binary
 x[50] binary
 x[51] binary
 x[52] binary
 x[53] binary
 x[54] binary
 x[55] binary
 x[56] binary
 x[57] binary
 x[58] binary
 x[59] binary
 x[60] binary
 x[61] binary
 x[62] binary
 x[63] binary
 x[64] binary
 x[65] binary
 x[66] binary
 x[67] binary
 x[68] binary
 x[69] binary
 x[70] binary
 x[71] binary
 x[72] binary
 x[73] binary
 x[74] binary
 x[75] binary
 x[76] binary
 x[77] binary
 x[78] binary
 x[79] binary
 x[80] binary
 x[81] binary
 x[82] binary
 x[83] binary
 x[84] binary
 x[85] binary
 x[86] binary
 x[87] binary
 x[88] binary
 x[89] binary
 x[90] binary
 x[91] binary
 x[92] binary
 x[93] binary
 x[94] binary
 x[95] binary
 x[96] binary
 x[97] binary
 x[98] binary
 x[99] binary
 x[100] binary
 x[101] binary
 x[102] binary
 x[103] binary
 x[104] binary
 x[105] binary
 x[106] binary
 x[107] binary
 x[108] binary
 x[109] binary
 x[110] binary
 x[111] binary
 x[112] binary
 x[113] binary
 x[114] binary
 x[115] binary
 x[116] binary
 x[117] binary
 x[118] binary
 x[119] binary
 x[120] binary
 x[121] binary
 x[122] binary
 x[123] binary
 x[124] binary
 x[125] binary
 x[126] binary
 x[127] binary
 x[128] binary
 x[129] binary
 x[130] binary
 x[131] binary
 x[132] binary
 x[133] binary
 x[134] binary
 x[135] binary
 x[136] binary
 x[137] binary
 x[138] binary
Error: dual simplex failed
Error: unable to factorize the basis matrix (1)
Constructing initial basis...
Size of triangular part is 7
Warning: basis matrix is ill-conditioned (cond = 3.27e+14)
Out[15]:
true
In [16]:
println("Objective value: ", objective_value(model_fa))
println("Optimal solution is x = \n", JuMP.value.(x))
Objective value: 52.900000000000006
Optimal solution is x = 
[0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
In [17]:
freeAgents[JuMP.value.(x) .== 1.0, [:Player, :Pos, :WS, :Salary]]
Out[17]:

8 rows × 4 columns

PlayerPosWSSalary
StringStringFloat64Int64
1D.J. Augustin\\augusdj01PG6.97250000
2Malik Beasley\\beaslma01SG4.52731714
3Derrick Favors\\favorde01C7.917650000
4Danilo Gallinari\\gallida01SF8.222615559
5Montrezl Harrell\\harremo01C8.76000000
6Joe Harris\\harrijo01SG5.57670000
7Paul Millsap\\millspa01PF6.130500000
8Jakob P\xf6ltl\\poeltja01C5.13754886
In [18]:
sum(freeAgents[JuMP.value.(x) .== 1.0, :Salary])
Out[18]:
98172159
In [19]:
sum(freeAgents[JuMP.value.(x) .== 1.0, :WS])
Out[19]:
52.900000000000006
In [ ]: