Hello Bilel, the example below shows how you could setup the model. My idea is that You do not model production of resources SR1 and SR2 as two different variables. Instead there is only one variable for total production.
L'exemple au-dessous montre comment tu pourrais modeler ton problème. Mon idée est que tu n'utilise pas deux variables différentes pour la production des deux resources SR1, SR2 mais seulement une variable pour la production totale. Best regards Xypron param nd_pen := 70; #non delivery penalty; param d := 15; #demand param cap1 := 10; # capacity of resource SR1 param cost1 := 50; # cost of resource SR1 param cap2 := 8; # capacity of resource SR2 param cost2 := 60; # cost of resource SR2 var p >= 0; # production rate var nd >= 0; # non delivery var ct >= 0; # total cost var cp >= 0; # production cost minimize total_cost : ct; s.t. constr_total_cost : cp + nd_pen * nd - ct = 0; # total cost = production cost + non delivery penalty s.t. cp1 : cost1 * p - cp <= 0; # production cost for resource 1 s.t. cp2 : cost2 * ( p - cap1 ) + cost1 * cap1 - cp <= 0; # production cost for resource 2 s.t. p_max : cap1 + cap2 - p >= 0; # maximum production s.t. non_delivery : p + nd - d >= 0; # non delivery solve; printf "non delivery: %d\n", nd; printf "production resource 1: %d\n" , 0.5 * ( p - abs( p - cap1 ) + cap1 ); printf "production resource 2: %d\n" , 0.5 * ( p + abs( p - cap1 ) - cap1 ); end; -------- Original-Nachricht -------- > Datum: Fri, 1 Aug 2008 13:37:53 +0400 > Von: "Bilel Masmoudi" <[EMAIL PROTECTED]> > An: [email protected] > Betreff: [Help-glpk] nouvel utilisateur de GLPK > Bonjour, > Je suis un nouvel utilisateur de GLPK, > Merci de m'aider à résoudre ce prblème > Le problème: on veut exprimer une contrainte de priorité entre deux > flux. > soit deux débits de flux SR1 et SR2 qui sont parmi les ressources > disponibles(variables du problème à optimiser) > on ne veut pas utiliser le flux 2 tant qu'on peux respecter les autres > contraintes en utilsant le premier. > comment exprimer cette contrainte linéairement? > la solution qui consiste à mettre une pénalité sur le flux le moins > prioritaire n'est pas pertinente car elle ne définit qu'une > contrainte relative > Merci > > > -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger _______________________________________________ Help-glpk mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-glpk
