%display latex m=13 #nombre de contraintes n=9 #nombre de variables A=matrix(m,n,( 0,1,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,1,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,1,0, 0,0,0,0,0,0,0,0,1, 0,1,0,-1,-1,0,0,0,0, 0,0,1,0,0,-1,-1,0,0, 0,0,0,1,0,1,0,-1,0, 0,0,0,0,1,0,0,0,1, 1,0,0,0,0,0,0,-1,-1)) bmin=[0,0,0,0,0,0,0,0,0,0,0,0,0] bmax=[4,6,3,4,2,3,6,6,0,0,0,0,0] c=matrix(1,n,(1,0,0,0,0,0,0,0,0)) p1 = MixedIntegerLinearProgram(maximization=True, solver = "GLPK") # Création du MILP # on peut remplacer GLPK par PPL pour obtenir une optimisation fractionnaire. x = p1.new_variable(integer=False, indices=[0..n-1]) # les nouvelles variables seront x[1]... x[7]} B = A * x # m # Construction des contraintes for i in range(m): p1.add_constraint(B[i], min=bmin[i], max=bmax[i]) # remove_constraint() pour en retirer une for i in range(n): p1.set_min(x[i],0) p1.set_objective(x[0])# définition de l'objectif p1.show() # Vérification p1.solve();