# Newbie Looking for Help - Code failing after adjusting constraints

**URL:** <https://discourse.julialang.org/t/newbie-looking-for-help-code-failing-after-adjusting-constraints/2230>\
**Category:** Optimization (Mathematical)\
**Created:** [February 22, 2017, 4:50am UTC](https://discourse.julialang.org/t/newbie-looking-for-help-code-failing-after-adjusting-constraints/2230 "2017-02-22T04:50:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pigskinablanket](https://avatars.discourse-cdn.com/v4/letter/p/a3d4f5/32.png) [@Pigskinablanket](https://discourse.julialang.org/u/Pigskinablanket)\
**Post date:** [February 22, 2017, 4:50am UTC](https://discourse.julialang.org/t/newbie-looking-for-help-code-failing-after-adjusting-constraints/2230/1 "2017-02-22T04:50:34Z")

</div>

Background - I am new at this and I didnt stay at a Holiday Inn Express last night, so I am struggling. I am using Julia/Jump code to Optimize lineup for Daily Fatasy Hockey with moderate success. I am working to convert the code to new constraints to support baseball and failing miserably.

I started off attempting to fully re-write the code, but was unable to isolate my errors to solve them. Now I am converting it one constrain at a time. I have it running, but not following the constraint as I believe it is designed.

The code below is going to look like it is for hockey, which it is and working well - but I have modified the goalie constraint from 1 to 2 to replicate the DFS baseball structure which utilizes 2 pitchers. However, when I execute the code - I only get one goalie (“aka pitcher” in the output file. Not sure why!!! Please help

Obviously some additional files needed to execute this, which I have and can share if someone is curious enough to want to help me solve

The original code was developed and shared as part of a paper disclosed here [http://arxiv.org/pdf/1604.01455v2.pdf](http://arxiv.org/pdf/1604.01455v2.pdf)

```
# This is a function that creates one lineup using the No Stacking formulation function
# one_lineup_no_stacking(skaters, goalies, lineups, num_overlap, num_skaters, num_goalies, centers, 
# wingers, defenders, num_teams, skaters_teams, goalie_opponents, team_lines, num_lines, P1_info)
m = Model(solver=GLPKSolverMIP())

# Variable for skaters in lineup.
@variable(m, skaters_lineup[i=1:num_skaters], Bin)

# Variable for goalie in lineup.
@variable(m, goalies_lineup[i=1:num_goalies], Bin)

# Two goalie constraint
@constraint(m, sum{goalies_lineup[i], i=1:num_goalies} == 2)

# Eight Skaters constraint
@constraint(m, sum{skaters_lineup[i], i=1:num_skaters} == 8)

# between 2 and 3 centers
@constraint(m, sum{centers[i]*skaters_lineup[i], i=1:num_skaters} <= 3)
@constraint(m, 2 <= sum{centers[i]*skaters_lineup[i], i=1:num_skaters})

# between 3 and 4 wingers
@constraint(m, sum{wingers[i]*skaters_lineup[i], i=1:num_skaters} <= 4)
@constraint(m, 3<=sum{wingers[i]*skaters_lineup[i], i=1:num_skaters})

# between 2 and 3 defenders
@constraint(m, 2 <= sum{defenders[i]*skaters_lineup[i], i=1:num_skaters})
@constraint(m, sum{defenders[i]*skaters_lineup[i], i=1:num_skaters} <= 3)

# Financial Constraint
@constraint(m, sum{skaters[i,:Salary]*skaters_lineup[i], i=1:num_skaters} + sum{goalies[i,:Salary]*goalies_lineup[i], i=1:num_goalies} <= 50000)

# at least 3 different teams for the 8 skaters constraints
@variable(m, used_team[i=1:num_teams], Bin)
@constraint(m, constr[i=1:num_teams], used_team[i] <= sum{skaters_teams[t, i]*skaters_lineup[t], t=1:num_skaters})
@constraint(m, sum{used_team[i], i=1:num_teams} >= 3)

# Overlap Constraint
@constraint(m, constr[i=1:size(lineups)[2]], sum{lineups[j,i]*skaters_lineup[j], j=1:num_skaters} + sum{lineups[num_skaters+j,i]*goalies_lineup[j], j=1:num_goalies} <= num_overlap)

# Objective
@objective(m, Max, sum{skaters[i,:Projection]*skaters_lineup[i], i=1:num_skaters} + sum{goalies[i,:Projection]*goalies_lineup[i], i=1:num_goalies})

# Solve the integer programming problem
println("Solving Problem...")
@printf("\n")
status = solve(m);

# Puts the output of one lineup into a format that will be used later
if status==:Optimal
    skaters_lineup_copy = Array(Int64, 0)
    for i=1:num_skaters
        if getvalue(skaters_lineup[i]) >= 0.9 && getvalue(skaters_lineup[i]) <= 1.1
            skaters_lineup_copy = vcat(skaters_lineup_copy, fill(1,1))
        else
            skaters_lineup_copy = vcat(skaters_lineup_copy, fill(0,1))
        end
    end
    for i=1:num_goalies
        if getvalue(goalies_lineup[i]) >= 0.9 && getvalue(goalies_lineup[i]) <= 1.1
            skaters_lineup_copy = vcat(skaters_lineup_copy, fill(1,1))
        else
            skaters_lineup_copy = vcat(skaters_lineup_copy, fill(0,1))
        end
    end
    return(skaters_lineup_copy)
end

```

end

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [February 22, 2017, 10:42am UTC](https://discourse.julialang.org/t/newbie-looking-for-help-code-failing-after-adjusting-constraints/2230/2 "2017-02-22T10:42:57Z")

</div>

\< I am giving guidance – the csv datafiles were malformed \>
