title: Pulp with Real Numbers in Python
body: <p>I use <strong>pulp</strong> module to solve my some optimization problems. With integer numbers, it works like a charm. I wonder if it is possible for pulp to work with real numbers. I think this is called mixed integer programming.</p>
  
  <p>Here is a sample optimization problem I build for my project.</p>
  
  <pre><code>prob = pulp.LpProblem("example", pulp.LpMinimize)
  
  # Variable represent number of times device i is used
  n1 = pulp.LpVariable("n1", 1, 5, pulp.LpInteger)
  n2 = pulp.LpVariable("n2", 0, max_exp, pulp.LpInteger)
  n3 = pulp.LpVariable("n3", 0, max_exp, pulp.LpInteger)
  n4 = pulp.LpVariable("n4", 0, max_exp, pulp.LpInteger)
  n5 = pulp.LpVariable("n5", 0, max_exp, pulp.LpInteger)
  
  
  # The objective function that we want to minimize: the total cost
  prob += n1 * Device1[-1] + n2 * Device2[-1] + n3 * Device3[-1] + n4 * Device4[-1] + n5 * Device5[-1], "Minimize total cost"
  
  # Constraint that we use no more than max. devices per controller device
  prob += n2 + n3 + n4 + n5 &lt;= n1*max_exp
  
  #Constraint (total_UI &gt;= (target_AI + target_BI))
  prob += n1 * Device1[0] + n2 * Device2[0] + n3 * Device3[0] + n4 * Device4[0] + n5 * Device5[0] &gt;= (Target[0]+Target[2])
  
  #Constraint ((total_UO + total_BO) &gt;= target_BO)
  prob += n1 * Device1[1] + n2 * Device2[1] + n3 * Device3[1] + n4 * Device4[1] + n5 * Device5[1] + n1 * Device1[3] + n2 * Device2[3] + n3 * Device3[3] + n4 * Device4[3] + n5 * Device5[3]&gt;= (Target[3])
  
  #Constraint [total_UO + total_AO + total_BO - target_BO] &gt;= target_AO
  prob += n1 * Device1[1] + n2 * Device2[1] + n3 * Device3[1] + n4 * Device4[1] + n5 * Device5[1] + n1 * Device1[2] + n2 * Device2[2] + n3 * Device3[2] + n4 * Device4[2] + n5 * Device5[2] + n1 * Device1[3] + n2 * Device2[3] + n3 * Device3[3] + n4 * Device4[3] + n5 * Device5[3] &gt;= (Target[1]+Target[3])        
  
  # Actually solve the problem, this calls GLPK so you need it installed
  prob.solve()
  </code></pre>
  
  <p>Lets assume DeviceX[-1] be a real number. Could you make the required changes?</p>
  
  <p>Thanks in advance.</p>