Mixed integer problem terjadi jika ada variable yang diharuskan menggunakan bilangan bulat.
Menggunakan persamaan sebelumnya, kita modifikasi 1 persamaan, yaitu -x + 2y <= 8 menjadi -x + 2y <= 7. Agar menghasilkan nilai optimal dengan angka desimal.
#objective function
max x + y
#constraint
-x + 2y <= 7
2x + y <= 14
2x - y <= 10
0 <= x <= 10
0 <= y <= 10
x integer
Dikarenakan x harus integer, maka nilai optimal yang didapatkan harus untuk x harus bilangan bulat. (lihat gambar dibawah).

#import library yang digunakan
import pyomo.environ as pyo
from pyomo.environ import *
from pyomo.opt import SolverFactory
model = pyo.ConcreteModel()
#definisikan variable
model.x = pyo.Var(within=Integers, bounds=(0,10))
model.y = pyo.Var(bounds=(0,10))
x = model.x
y = model.y
#definisikan constraint
model.C1 = pyo.Constraint(expr= -x+2*y<=7)
model.C2 = pyo.Constraint(expr= 2*x+y<=14)
model.C3 = pyo.Constraint(expr= 2*x-y<=10)
#definisikan objective function
model.obj = pyo.Objective(expr= x+y, sense=maximize)
#pilih solver dan lakukan solving
opt = SolverFactory('glpk')
opt.solve(model)
model.pprint()
print('x:', pyo.value(x))
print('y:', pyo.value(y))
2 Var Declarations
x : Size=1, Index=None
Key : Lower : Value : Upper : Fixed : Stale : Domain
None : 0 : 4.0 : 10 : False : False : Integers
y : Size=1, Index=None
Key : Lower : Value : Upper : Fixed : Stale : Domain
None : 0 : 5.5 : 10 : False : False : Reals
1 Objective Declarations
obj : Size=1, Index=None, Active=True
Key : Active : Sense : Expression
None : True : maximize : x + y
3 Constraint Declarations
C1 : Size=1, Index=None, Active=True
Key : Lower : Body : Upper : Active
None : -Inf : - x + 2*y : 7.0 : True
C2 : Size=1, Index=None, Active=True
Key : Lower : Body : Upper : Active
None : -Inf : 2*x + y : 14.0 : True
C3 : Size=1, Index=None, Active=True
Key : Lower : Body : Upper : Active
None : -Inf : 2*x - y : 10.0 : True
6 Declarations: x y C1 C2 C3 obj
x: 4.0
y: 5.5
Pembahasan Code
Silakan lihat komentar pada code diatas untuk melihat penjelasan program. Dapat Anda perhatikan, proses dan logika coding tidak ada yang berubah dengan linear programming sebelumnya.
Perbadaanya saat mendefinisikan variable x.
model.x = pyo.Var(within=Integers, bounds=(0,10))