Home

USER'S MANUAL

image

Contents

1. E 0 X 17 E 0 X 18 E 0 X 25 E 0 PROF E SUM J CF J SUM I X I CV I 122 OBJETIVO BEGIN DECLARATIONS AND DEFINITIONS OF DISJUNCTIONS LOGMIP Section ONECHO gt lm info disjunction dl is d2 is d3 is d4 is di d2 if Y d3 d4 d5 d6 1 then INOUT11 INOUT14 else INOUT12 INOUT13 endif if Y 2 then INOUT21 INOUT24 else INOUT22 INOUT23 endif if Y 3 then INOUT31 INOUT34 else INOUT32 endif if Y 4 then INOUT41 INOUT45 else INOUT42 d7 d8 LogMIP User s Manual 13 INOUT43 INOUT44 endif d5 is if Y 5 then INOUT51 INOUT54 else INOUT52 INOUT53 endif d6 is if Y 6 then INOUT61 INOUT64 else INOUT62 INOUT63 endif d7 is if Y 7 then INOUT71 INOUT74 else INOUT72 INOUT73 endif d8 is if Y 8 then INOUT81 INOUT86 else INOUT82 INOUT83 INOUT84 INOUT85 atmost Y 1 Y 2 atmost Y 4 Y 5 atmost Y 6 Y 7 gt gt or Y 5 or MS Ys o bi K o K K zm AN NA gt gt K gt gt o K gt gt gt IDA K NAUUAARALLNA EL 4S ROR DH MH WW RK KKK O K G KKK KK RRR aaa M M MASA i o h gt INIT TRUE Y 1 INIT TRUE Y 1 INIT TRUE Y 2 Y 37 Y 3 X 3 SOFFECHO end logmip s
2. INIT FALSE Y 2 Y 4 Y 6 Y 7 INIT FALSE Y 1 Y 5 Y 7 LogMIP User s Manual 32 8 2 2 Instead of initializing by the TRUE terms we can initialize by those that are FALSE We can have also a combination of both initializations previously presented INIT TRUE Y 1 V 3 Y 4 Y 7 Y 8 INIT TRUE Y 2 Y 3 Y 4 Y 6 Y 8 INIT FALSE Y 2 Y 4 V 6 Y 7 The order of the sentences is not important If you want to specify all disjunctions terms you can use the word ALL For example INIT TRUE ALL or INIT FALSE ALL TERMINATION OPTIONS Since the OA Logic Based algorithm is similar to the OA MINLP algorithm based on dividing the original problem into two subproblems the NLP subproblem and the master MILP subproblem and according to this two termination options for the algorithm exist for the LogMIP non linear solver These options are similar to those implemented in DICOPT MINLP GAMS solver 1 STOP on CROSSOVER 2 STOP on NLP worsening Option 1 is appropriated for convex models The meaning of this option is that the objective function obtained in the Master MILP subproblem is lower upper the solution obtained in the NLP subproblem depending if the optimization direction is maximize minimize the objective function Option 2 is recommended for non convex model and the algorithm stops after the objective function obtained in the solution of consecutive NLP subproblems starts to deterior
3. Ist file 8 SOLVERS A LogMIP can solve linear nonlinear disjunctive hvbrid models that follow the formulation showed in section 2 of this manual Disjunctive models are those where discrete decisions are written oniv in the form of disjunctions while hvbrid models involve both disjunctions and mixed integer constraints LogMIP User s Manual 29 8 1 Linear Solvers In figure 1 it is shown the solution algorithms for linear hybrid disjunctive models 8 1 1 HYBRID DISJUNCTIVE LINEAR PROGRAM Reformulated as MIP by BigM or convex hull Relaxations B amp B OSL CPLEX XA Fig 1 solution algorithms for linear models The disjunctions defined in the model are transformed into mixed integer formulations by using one of the relaxations proposed BigM or convex hull The original model is transformed into a Mixed Integer Model that it is later solved by a Branch and Bound algorithm References about the relaxations can be found in Balas 1979 Vecchietti and Grossmann 2002 Two solvers are available for linear solvers which are LMBIGM applies the BigM relaxation of a disjunctive set LMCHULL applies the convex hull relaxation of a disjunctive set To select one solver you must write in the GAMS input file one of the following sentence OPTION MIP LMBIGM or OPTION MIP LMCHULL See the small examples provided in Section 2 of this manual OPTIONS in LMBIGM solver You have two options when s
4. im info Disjunction D i j D i j with ord i lt ord j IS IF Y i j THEN CONSTR1 j CONSTR2 i j ELSE CONSTR3 CONSTRA j k with ord k ge 1 ENDIF OFFECHO The previous example will generate the following disjunctions D 1 2 D 1 3 D 1 4 D 2 3 D 2 4 y D S 4 A Observe that CONSTRA is defined over sets j and k In this case j does not have problems since its domain is controlled bv disjunction D This is not the case of k where vou must include a with sentence to control the domain and avoid a semantic error For the second term of the first disjunction D 1 2 the following constraints must be satisfied CONSTR3 2 CONSTRA4 2 1 CONSTR4 2 2 CONSTR4 2 3 4 4 3 Example 3 This example is a modification of the previous for this case we need to control a domain set which is alreadv controlled An ALIAS definition in the GAMS section is needed Given the following definition in the GAMS Section SET I A 3 J 1 4 ALIAS J JJ and the following disjunction declaration and definition in LogMIP Section ONECHO gt 96lm info96 Disjunction D i j D i j with ord i lt ord j IS IF Y i j THEN CONSTR1 j CONSTR2 i jj with ord jj le 2 ELSE CONSTR3 CONSTRA j k with ord k It card k ENDIF OFFECHO LogMIP User s Manual 22 Since the domain j is controlled by the disjunction and for CONSTR2 yo
5. Yiv Va Y Ys v Y7 Y Yiv Va ina UM E x lt 0 Vv 5 c 0 cots 1 x lt 0 v 5 c 0 sise Xg 20 v x 0 xs Xy 7 0 bna AY 1 25 xj m X 3 20 v c 10 c 0 Y T Xis 2Xj 20 v Xis X 70 c c Y AY eN 1 Xj9SO V Xp X m c 20 Y Tr 2E exp X55 1 x53 SO v X27 X22 0 24 TNI c7 0 Ye IM 8 exp x18 l xjg xy S0 V xjg gt X17 xjg 0 cg 5 a Cs 0 Y Ys Yr Y Y7 gt Y Ys Y3v Ys v AY3A74Y5 Yi v Ya Y v Ys Ys v Y LogMIP User s Manual 11 LogMIP INPUT FILE for this example TITLE APPLICATION OF THE LOGIC BASED MINLP ALGORITHM IN EXAMPLE 3 THE FORMULATION IS DISJUNCTIVE SOF FSYMXREF SOFFSYMLIST SELECT OPTIMAL PROCESS FROM WITHIN GIVEN SUPERSTRUCTURE SETS I PROCESS STREAMS 1 25 J PROCESS UNITS 1 8 PARAMETERS CV I VARIABLE COST COEFF FOR PROCESS UNITS STREAMS 32 10 52 15 9 40 19 25 21 35 25 35 17 280 14 15 10 15 2 1 4 2 1 18 65 20 60 22 80 VARIABLES PROF PROFIT BINARY VARIABLES Y J POSITIVE VARIABLES X I CF J EQUATIONS EQUATIONS Independent of discrete choices MASSBAL1 MASSBAL2 MASSBAL3 MASSBAL4 MASSBAL5 MASSBAL6 MASSBAL7 MASSBAL8 SPECS1 SPECS2 SPECS3 SPECS4 EQUATIONS allowing flow just IFF the unit EXISTS LOGICAL1 LOGICAL2 LOGICAL3 LOGICAL4 LOGICAL5 LOGICAL6 LOGICAL7 LOGICAL8 DISJUNCTION S CONSTRAINTS and EQU
6. A C 1 A D 3 A E 3 A E 5 A F 1 A F 3 A I BO 2 BIDZ24 BIDS 235 BULL Bul BL BSETS Me BiG bD0 D 2 Cede CIESZAZL CIUETQIL Ce h 4 GG 27 GG 4 DOEV2 D E 3 D F 3 D F 4 D G 2 D G 4 E F 3 E G 2 E G 5 F G 4 5 TABLE TAU I J processing time of job i in stage j 1 2 3 4 5 A 3 5 2 B 3 4 3 C 6 3 6 D 8 5 1 E 4 6 2 F 2 5 7 G 8 5 4 VARIABLES MS makespan BINARY VARIABLES Y I K J POSITIVE VARIABLES T I sequencing variable between jobs i and k EQUATIONS FEAS I makespan greater than all processing times NOCLASH1 I K J when i precedes k NOCLASH2 I K J when k precedes i DUMMY 7 FEAS I MS G T I SUM M TAU I M NOCLASH1 I K J S ORD I LT ORD K T I SUM MS ORD M T K SUM M ORD M NOCLASH2 I K J ORD I LT ORD K T K SUM M ORD M T I SUM M ORD M DUMMY SUM I SUM K SUM J MODEL JOBSHOP ALL Y I K J AND L I K J LE ORD J TAU I M L LT ORD J TAU K M AND L I K J LE ORD J TAU K M L LT ORD J TAU I M G 0 LogMIP User s Manual 25 ONECHO gt lm info DISJUNCTION D1 I K J D1 I K J with ord I lt ord K and L I K J IS IF Y I K J THEN NOCLASHI I K J ELSE NOCLASH2 I K J ENDIF OFFECHO T up I 100 OPTION MIP LMBIGM OPTION OPTCR 0 0 OPTION OPTCA 0 0 SOLVE JOBSHOP MINIMIZING MS USING MIP In the example shown above note that in LogMIP section d
7. Research State of the Art and Recent Advances in IntegerProgramming 139 267 288 2005 Raman R and Grossmann I E Modeling and Computational Techniques for Logic Based Integer Programming Comp Chem Eng 18 7 563 578 1994 Sawaya N W and Grossmann I E A Cutting Plane Method for Solving Linear Generalized Disjunctive Programming Problems Computers and Chemical Engineering 29 1891 1913 2005 LogMIP User s Manual 34 Sawaya N W and Grossmann I E Computational Implementation of Non Linear Convex Hull Reformulation Computers amp Chemical Engineering 31 856 866 2007 Turkay M and Grossmann I E Logic Based Algorithms for the Optimal Synthesis of Process Networks Comp Chem Eng 20 8 959 978 1996 Vecchietti A and Grossmann I E LOGMIP A Disjunctive 0 1 Nonlinear Optimizer for Process System Models Comp Chem Eng 23 555 565 1999 Vecchietti A and Grossmann I E Modeling issues and implementation of language for disjunctive programming Comp amp Chem Eng 24 2143 2155 2000 Vecchietti A S Lee and I E Grossmann Modeling of Discrete ContinuousOptimization Problems Characterization and Formulation of Disjunctions and their Relaxations Computers and Chemical Engineering 27 433 448 2003 Vecchietti A and Grossman I E Computational Experience with LogMIP Solving Linear and Nonlinear Disjunctive Programming Problems Proceedings of the Si
8. or ord l eq 1 and ord K eq 4 and ord j eq 4 4 6 Use of a DUMMY equation Although it is not mandatory we recommend the user to write a dummy equation into the GAMS section for the binary variables that handle disjunction terms disjunction conditions in order to avoid that GAMS compiler eliminate those variables from the model and from the matrix It occurs when some or all variables are not used in other equations constraints of the model Suppose the following variables handling disjunction s terms defined in GAMS section Binary variables Y J If some or all variables of Y are not included in any equation or constraint defined in GAMS section they will be eliminated from the model and LogMIP compiler will show an error even when they handle disjunction terms To avoid that you must write the following constraint DUMMY SUM J Y J G 0 which should be always satisfied Another example could be Binary variables y w z DUMMY y w Zz G 0 LogMIP User s Manual 27 A combination of the previous examples could be DUMMY y w z SUM j Y j G 0 5 Logic Propositions Logic propositions are used to pose relationships between the Boolean Binary variables handling the disjunctive terms The operators defined for writing these sentences are Symbol Meaning gt Implication lt gt equivalence not negation and logical and or logical or Every logic pro
9. the advantage of being the most general way of doing it because you explicitly define the domain applicable for the disjunction Suppose the example 1 of section 4 4 1 that must be defined over the following domain of I J 1 2 2 3 8 4 to specify this you must define in the GAMS section the following SET I A 3 J 1 4 Detine the subset k SET K 1 J 1 2 2 3 3 4 and the following disjunction declaration and definition in LogMIP Section LogMIP User s Manual 23 ONECHO gt lm info Disjunction D I J D I J with K 1 J IS IF V I J THEN CONSTRAINT J CONSTRAINT I J ELSE CONSTRAINT I J CONSTRAINT I J ENDIF OFFECHO Note the sentence using the clause with in the definition of D l J it is referencing the subset to define disjunctions D 1 2 D 2 3 and D 3 4 If you are using GAMS IDE versions 20 5 20 6 20 7 21 0 and 21 1 you must do the following 1 Include in GAMS INPUT file the following sentences GDXOUT filename UNLOAD 2 In the IDE GAMS parameters box in the upper right section of the IDE window write the following gdx filename The first two sentences generate in GAMS compilation time a filename gdx file containing the symbols of the subsets needed by LogMIP to proceed with the compilation The sentence included in the IDE GAMS parameters box tells LogMIP the filename and file location in order to open it and read tho
10. ATIONI ELSIF V2 THEN CONSTRAINT2 EQUATION2 ENDIF OFFECHO v It is not allowed in this release the capability of defining a disjunction with several terms with each term satisfying a condition and having an ELSE term which applies when none of the previous term is TRUE It is not allowed a disjunction defined like IF THEN ELSIF THEN ELSIF THEN ELSE ENDIF 4 3 Definition sentence for disjunctions defined over a domain As was mentioned in section 4 1 to define a disjunction over a domain you must first declare the domain as a SET or ALIAS in GAMS section and then declare the disjunction identifier over that domain The simplest definition can be a disjunction defined over the complete domain for example suppose the following disjunction CONSTRAINT lj v CONSTRAINT 2j EQUATIONI EQUATION2 In order to define it you must have in the GAMS section Declaration of the domain SET I 1 3 J 1 4 Declaration of the constraints EQUATION CONSTRAINT I J CONSTRAINT2 I J EQUATION I J EQUATIONZI I J DUMMY Declaration of variables for disjunction terms BINARY VARIABLES Y I J Definition of constraints CONSTRAINT1 I J define constraint here CONSTRAINT2 I J define constraint2 here EQUATION I 1 J define equationi here EQUATION 2 I J define equation2 here LogMIP User s Manual 18 Dummy equation if needed DUMMY SUM I SUM J Y I J G 0 In the LogMIP sectio
11. ATIONS INOUT11 INOUT12 INOUT13 INOUT14 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT21 INOUT22 INOUT23 INOUT24 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT31 INOUT32 INOUT34 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT41 INOUT42 INOUT43 INOUT44 INOUT45 FOR PROCESS UNIT INOUT51 INOUT52 INOUT53 INOUT54 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT61 INOUT62 INOUT63 INOUT64 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT71 INOUT72 INOUT73 INOUT74 INPUT OUTPUT RELATIONS FOR PROCESS UNIT INOUT81 INOUT82 INOUT83 INOUT84 INOUT85 INOUT86 FOR PROCESS UNIT OBJETIVO OBJECTIVE FUNCTION DEFINITION BOUNDS SECTION UP 3 UP 5 UP 9 UP 10 UP 14 UP 17 UP 19 UP 21 UP 25 94 9 9 KM MK XXX LU WNNNEENNN 000000000 OPTIONS LIMCOL 0 OPTION LIMROW 0 H OPTION OPTCR 0 DEFINITIONS of EQUATIONS Independent of discrete choices MASSBALI X 13 E X 19 X 21 A MASSBAL2 X 17 X 9 4 X 16 4 X 25 MASSBAL3 X 1l1 X 12 X 15 H MASSBALA X 3 X 5 X 6 X 11 H MASSBAL5 X 6 X 7 4 x 8 H MASSBAL6 X 23 X 20 X 22 A MASSBAL7 X 23 X 14 4 X 24 H MASSBALS8 X 1 E X 2 X 4 SPECS1 X 10 L 0 8 X 17 SPECS2 X 10 G 0 4 X 17 H SPECS3 X 12 L 5 0 X 14 H SPECS4 X 12 G 2 0 X 14 H DEFINITION of EQUATIONS allowing flow just IFF the unit EXI
12. STS LOGICAL1 X 2 X 3 L 10 Y 1 LOGICAL2 X 4 4 X 5 L 10 Y 2 LOGICAL3 X 9 L 10 Y 3 LOGICAL4 X 12 X 14 L 10 Y 4 co oU Ut NH LogMIP User s Manual 12 LOGICALS LOGICAL6 LOGICAL7 LOGICALS8 INOUT11 INOUT14 INOUT12 INOUT13 INOUT21 INOUT24 INOUT22 INOUT23 INOUT31 INOUT34 INOUT32 INOUT41 INOUT4S INOUT42 INOUT43 INOUT44 INOUT51 INOUT54 INOUT52 INOUT53 INOUT61 INOUT64 INOUT62 INOUT63 INOUT71 INOUT74 INOUT72 INOUT73 INOUT81 INOUT86 INOUT82 INOUT83 INOUT84 INOUT85 X 15 L 10 Y 5 X 19 L 10 Y 6 X 21 L 10 Y 7 X 10 X 17 L 10 Y 8 DEFINITIONS of DISJUNCTION s EQUATIONS EXP X 3 1 E X 2 CF 1 E 5 X 2 E 0 X 3 E 0 EXP X 5 1 2 1 E X 4 CF 2 E 8 X 4 E 0 X 5 E 0 1 5 X 9 X 10 E X 8 CF 3 E 6 X 9 E 0 1 25 X 12 4X 14 E X 13 CF 4 E 10 X 12 E 0 X 13 E 0 X 14 E 0 X 15 E 2 X 16 CF 5 E 6 X 15 E 0 X 16 E 0 EXP X 20 1 5 1 E X 19 CF 6 E 7 X 19 E 0 X 20 E 0 EXP X 22 1 E X 21 CF 7 E 4 X 21 E 0 X 22 E 0 EXP X 18 1 E X 10 X 17 CF 8 E 5 X 10
13. TEN LogMIP Logical Mixed Integer Programming Jingar Carnegie Mellon USER S MANUAL Aldo Vecchietti aldovec santafe conicet gov ar LogMIP User s Manual 1 INDEX 1 Introduction 2 2 Disjunctive model formulation 2 2 1 SMALL EXAMPLE 1 3 2 2 SMALL EXAMPLE 2 7 2 3 NONLINEAR EXAMPLE 9 3 How to write a disjunctive model for LogMIP 14 4 Declaration and Definition of Disjunctions 14 4 1 Declaration Sentence 14 4 2 Definition Sentence for single domain disjunctions 15 4 3 Definition Sentence for disjunctions defined over a domain 17 4 4 Controlling disjunction s domain 19 4 4 1 Example 1 20 4 4 7 Example 2 20 4 4 8 Example 3 21 4 4 4 Example 4 Using Subsets and the GAMS GDX Facilities 22 4 5 Using the operator IN 25 4 6 Use of a DUMMY Equation 26 5 Logic Propositions 27 6 Special Sentences 27 7 LogMIP compilation errors 28 8 Solvers 28 8 1 Linear Solvers 29 8 1 1 Options in LMBIGM Solver 29 8 2 Nonlinear Solver 30 8 2 4 Initializations 31 8 2 2 Termination options 32 9 Recommendations and limitations 32 10 References 33 LogMIP User s Manual 1 Introduction LogMIP 1 0 is a program for solving linear and nonlinear disjunctive programming problems involving binary variables and disjunction definitions for modeling discrete choices While the modeling and solution of these disjunctive optimization problems has not yet reached the stage of maturity and reliabili
14. an extra control Given the following set definition in the GAMS Section SET I A 3 J 1 4 and the following disjunction declaration and definition in LogMIP Section ONECHO gt 96lm info96 Disjunction D I J D I J with ord J It card J IS IF V I J THEN CONSTRAINT I J CONSTRAINT I J ELSE CONSTRAINT I J CONSTRAINT I J ENDIF OFFECHO Only the domain of set J is controlled The values of J must be less than the cardinality of J meaning that only 1 2 and 3 are permitted The expansion of the previous definition renders 9 disjunctions 3 times 3 D 1 1 D 1 2 D 1 3 D 2 1 D 2 2 D 2 3 D 3 1 D 3 2 and D 3 3 v Please note that although GAMS allows declaring variables and equations without a domain and then in the definition use them with domains LogMIP compiler is not aware about this situation and gives you an error or get stacked We strongly suggest to explicitly declare all domains for every variable and constraint defined in the model 4 4 2 Example 2 In this example the disjunction domains are controlled using the with and ord clauses There exists a constraint with a domain not controlled by the disjunction that must be done in order to avoid semantic errors Given the following set definition in the GAMS Section SET I A 3 J A 4 K 1 2 and the following disjunction declaration and definition in LogMIP Section LogMIP User s Manual 21 ONECHO gt
15. ate The default is option 1 These options are implemented in the same way than DICOPT you must specify at the option file LMLBOA opt STOP 1 or STOP 2 depending on the choice selected 9 Recommendations and Limitations Write the GAMS file in a single way following a sequence declare SETS VARIABLES and EQUATIONS at the beginning of the file then start with the constraint and objective function definitions Finally write the options model and solution sentences Although GAMS is flexible about the declarations of the equation and variable domains you can declare them or not it is strongly recommended to explicitly declare all domains for every variable and constraint defined in the model LogMIP compiler can not deal with variables and constraint not declared over a domain and then defined with a domain Write your entire model in a single file do not use the include directive to import an external file in the model Note that constraints defined in the disjunctions are related with your declaration and definitions in the GAMS section In this sense you cannot include in the disjunction the name of a constraint not previously defined This is especially LogMIP User s Manual 33 important for constraints defined in the GAMS section over a domain controlled by the dollar sign A similar advice is necessary for variables handling disjunction terms Do not forget to include the dummy equation for them 10 R
16. defined in GAMS section which takes the role of a Boolean variable 1 TRUE O FALSE Declaration and definition of constraint_identifier_1 constraint_identifier_z must be performed in GAMS section Another example of single domain disjunction can be the following Single domain disjunction with two terms Each term must satisfy a condition Y Y CONSTRAINT 1 v CONSTRAINT 2 EQUATIONI EQUATION2 The syntax for this case is disjunction identifier IS IF term condition 1 THEN constraint identifier 1 constraint identifier n ELSIF term condition 2 THEN constraint identifier n1 constraint identifier Z ENDIF term condition 1 and term comdition 2 are binary variables identifiers defined in GAMS section which takes the role of a Boolean variable 1 TRUE O FALSE The identifiers must be different Declaration and definition of constraint identifier 1 constraint identifier z are performed in GAMS section The same syntax can be applied for single domain disjunction with several terms Each term must satisfy a condition The main difference is that having a disjunction with more than two terms implies that you must have several ELSIF sections for this case For both examples presented the following declarations and definitions apply ONECHO gt lm info Disjunction D1 D2 D1 IS IF Y THEN CONSTRAINT3 ELSE CONSTRAINT4 ENDIF LogMIP User s Manual 17 D2 IS IF Y1 THEN CONSTRAINT1 EQU
17. disjunction declarations Cannot use LogMIP reserved words which are disjunction bu card else elsif eq ge if initial le It ord then with The disjunction declaration definition over a domain is optional The domain must be previously defined in GAMS section declared as a SET or ALIAS A Vou cannot define a domain inside the LOGMIP section The reason is that the disjunction s domain must be in concordance of the constraint s domain which is defined in the GAMS section Disjunction identifiers must be unique it cannot be equal to any other identifier in the GAMS or LogMIP section Examples DISJUNCTION a b i j disjunctionnamelong d2 j D2_d2 a D2_d2 and disjunctionnamelong are single domain disjunctions b i j and d2 j are disjunctions defined over a domain i and j are SETS or ALIAS defined in the GAMS section 4 2 Definition sentence for single domain disjunctions Given the following disjunction which is a single domain disjunction with two terms that must satisfy only one condition first term TRUE second term FALSE Y AY v CONSTRAINT3 CONSTRAINT 4 The syntax for the definition is disjunction_identifier S IF term_condition THEN constraint_identifier_1 constraint_identifier_i constraint_identifier_n ELSE constraint_identifier_n 1 constraint_identifier_r constraint_identifier_z ENDIF LogMIP User s Manual 16 term_condition is the identifier of a binary variable
18. e out from the model if they are not used in other equation constraint of the model Write in the same GAMS input file the sentences ONECHO gt 9 6lm info96 OFFECHO the dollar sign must be in the 1 column You must write all three keywords Between these two sentences you must include disjunction declarations and definitions The complete section including the sentences above is a comment for GAMS compiler so it is ignored by it LogMIP language compiler compiles this section Write between the sentences of section b the disjunction declaration and definitions according to the rules of LogMIP language 4 Declaration and Definition of Disjunctions To write disjunctions there are two types of sentences declaration sentence definition sentence Disjunction can be single or no domain or can have a domain such that you declare and define a set of disjunctions over the domain The domain of the disjunction can be limited by applying the sentence with 4 1 Declaration Sentence The declaration sentence use de word DISJUNCTION as token The syntax is DISJUNCTION disjunction identifier domain identifier domain identifier disjunction identifier domain identifier domain identifier A disjunction name as well as the domain name can have up to 32 characters long and must start with a letter LogMIP User s Manual 15 It follows GAMS rules about naming You can have several entries for
19. ection option minlp LMLBOA DP ee MODEL EXAMPLE3 ALL SOLVE EXAMPLE3 USING MINLP MINIMIZING PROF X 87 YC8 Special sentences to establish relationships between Boolean variables Logic Propositions to establish relationships between the disjunctions terms This is a special section for non linear problems This is an initialization section needed by the LOGIC BASED OA algorithm You must specify it More references about this will be explained later you can read also Turkay and Grossmann 1996a LMLBOA is the solver for non linear problems which applies the LOGIC BASED OA algorithm You need a NLP and a MIP solver installed together with GAMS to solve this problem LogMIP User s Manual 14 3 How to write a disjunctive model for LogMIP The algorithm to write a problem into GAMS is the following a b Write in a GAMS input file extension gms the sets scalars parameters variables equations and constraints and any other component necessary for the problem like if you were writing a mathematical problem You must be familiar with the GAMS notation to do so You must even declare and define in this section the equations and constraints for the disjunction terms You must declare and define binary variables to handle disjunction terms these variables will work as Boolean variables Make sure to write at least a dummy equation that uses them in order to avoid the GAMS compiler tak
20. ed as MINLP fwo terms Convex Ey ICM disjunction yy or Convex Hull MINLP LOGIC BASED RE Hull OA RE Fig 2 solution algorithms for nonlinear models From nonlinear hybrid disjunctive models you have three paths to arrive to the solution the first one is for models that have special two terms disjunctions that have the following formulation Y AY h x lt 0 v B x 0lieD yi c 0 LogMIP User s Manual 31 8 2 1 This special disjunction involves two terms handled by one variable the first term apply when the Yi is true while the second when it is false In the second term a subset of variables must set to zero The LOGIC BASED OA algorithm Turkay and Grossmann 1996a was mainly generated to solve the synthesis of chemical processes It was applied to examples other than these types of problems This is the only solution method working in this release of LOGMIP The solver name is LMLBOA The other two paths are not implemented yet To select the LOGIC BASED OA algorithm you must write in the GAMS input file the following sentence OPTION MINLP LMLBOA Observe that since this corresponds to a nonlinear model you must select the option for MINLP models See the nonlinear example provided in section 2 of this manual INITIALIZATIONS For some nonlinear models in order to solve a particular problem the user should provide initializations The meaning of the initializations is to fix the disjunctions te
21. ed over a particular domain LogMIP reports an error 4 4 Controlling the disjunction s domain The constraint and disjunction s domain can be controlled by the sentence with in conjunction with other operators Relational operators It less than le lt less than or equal to eq equal gt gt greater than ge z greater than or equal to Logic operators and or Sets operators ord order of an item in the set card number of items in the set in inclusion of a set item Using subsets If you have defined a disjunction over a domain and you have also the disjunction s variables and constraints defined over the same or different domain you can have two situations which are Constraints and variables whose domain is under the control of the disjunction domain Constraints and variables with uncontrolled domains which must be defined in order to avoid semantic errors If you need to control a set domain that is already controlled by the disjunction definition you must use an ALIAS for that set and redefine the domain over that ALIAS See example 3 for this purpose In the following four sections some illustrative examples are presented with the intention of clarifying these matters LogMIP User s Manual 20 4 4 1 Example 1 In this example the disjunction domains are controlled using the with ord and card clauses The disjunction s variables and constraints domains do not need
22. eferences The following is a list of articles where you can get a more complete material about disjunctive hybrid models and the algorithms to solve them Balas E Disjunctive programming Discrete Optimizations Il Annals of Discrete Mathematics 5 North Holland Amsterdam 1979 Balas E Disjunctive Programming and a hierarchy of relaxations for discrete optimization problems SIAM J Alg Dis Meth 6 3 466 485 1985 Balas E Disjunctive Programming Properties of the convex hull of feasible points Discrete Applied Mathematics 89 1 3 44 1998 Brooke A Kendrick D and Meeraus A GAMS a User s Guide Gams Development Corporation 1996 Gil J J and Vecchietti A Issues about the development of a disjunctive program solver Proceedings of Enpromer 403 409 2000 Gil J J and Vecchietti A Using design patterns for a compiler modeling for posing disjunctive optimization programs Proceedings of 31 JAIIO September 2002 Santa Fe Argentina Grossmann I E Mixed Integer Optimization Techniques for Algorithmic Process Synthesis Advances in Chemical Engineering Vol 23 Process Synthesis pp 171 246 1996 Lee S and Grossmann I E New algorithm for Nonlinear Generalized Disjunctive Programming Comp Chem Eng 24 9 10 2125 2141 2000 Lee S and I E Grossmann Logic based Modeling and Solution of NonlinearDiscrete Continuous Optimization Problems Annals of Operations
23. eger inequalities equalities that can contain linear or non linear continuous terms integer terms must be linear Aysa linear integer inequalities equalities d y linear fixed cost terms LogMIP User s Manual We present three small examples in order to illustrate the meaning of the previous disjunctive hybrid formulation The first two corresponds to linear models the later to a nonlinear disjunctive model 2 1 SMALL EXAMPLE 1 minZ T sa T2x 8 T2x 5 T gt x 6 Y Y L X t5 cola x 2 A Y Y pi x tl Xpt6 si Y T M X4 Xpt5 lt 0 X_p X SO T X 4 Xp Xc 20 Y e true false k 21 2 3 This example corresponds to a Jobshop Jobshop scheduling problem having three jobs A B C that must be executed sequentially in three steps 1 2 3 but not all jobs require all the stages meaning that the jobs will be executed in a subset of stages The processing time for each stage is given by the following table Job stage NI OYUE AJO DY N OKS The objective is to obtain the sequence of task which minimizes the completion time T In order to obtain a feasible solution the clashes between the jobs must be eliminated For more details about this formulation see Raman y Grossmann 1994 LogMIP input file for this example First Version Using 6 binary variable GAMS components declaration section GAMS equations and co
24. electing the BigM relaxation solver LMBIGM Both options are related to value of the parameter M in the relaxations This value is very important in order to reach the solution The parameters are set up by the keywords DEFAULT and DETERMINEM in the file LMBIGM opt LogMIP User s Manual 30 The way LMBIGM uses this parameters is same than the other solvers in GAMS n GAMS section and after defined the model you want to solve you must write model name optfile 1 In the directory where GAMS files are included write a file whose name is LMBIGM opt with the options you have selected n LMBIGM opt you must write the options according to the following rules DEFAULT is the default value for the M parameter value After the keyword DEFAULT you must write a real number representing the value of M of your choice Examples DEFAULT 1000 DEFAULT 5 e5 DETERMINEM is the option that can be turned off or turned on by writing O or 1 respectively after the keyword DETERMINEM If you turned it on then the solver can calculate the best value of M For doing that it is very important to provide good bounds for all continuous variables included in the model Example DETERMINEM 0 The default values for this option are DEFAULT 1 E4 and DETERMINEM 0 8 2 Nonlinear SOLVER In figure 2 it is shown the solution algorithms for nonlinear hybrid disjunctive models HYBRID DISJUNCTIVE NON LINEAR PROGRAM For special Reformulat
25. isjunction D1 is defined over sets I K J their domain is controlled by the clause WITH using ord and card operators and the subset L this is done in the same way than the definition of NOCLASH1 and NOCLASH constraints in GAMS section 4 5 Using the operator IN Using the operator IN as follows can perform the same constraints domain limitation for the Example 3 ONECHO gt im info Disjunction D i j D i j with ord i lt ord j IS IF Y i j THEN CONSTR1 j CONSTR i j ELSE CONSTR3 CONSTR4 j k with k IN 1 2 ENDIF OFFECHO v The operator IN expands the domain just for the set items included between the parentheses after the operator The set items must be enclosed by single quotation marks and separated by commas Another example of the IN operator is when you define the domain over a value range as follows LogMIP User s Manual 26 ONECHO gt im info Disjunction D i j D i j with ord i lt ord j IS IF Y i j THEN CONSTR1 j CONSTR2 i j ELSE CONSTR3 CONSTR4 j k with k IN 1 2 ENDIF OFFECHO A The above examples are just a few samples of what vou can do for limiting the disjunction s domain Vou can define more difficult sentences by using the operators mentioned and the logical operators and or Some other examples could be with ord j It card i and ord k not 1 with ord l It ord K and ord l eq 1 and ord K eq 3 and ord j eq 1
26. lex Meeraus compact version TITLE LOGMIP USER S MANUAL SMALL EXAMPLE 1 SETS J JOBS A B C S STAGES 1 3 GG J J UPPER TRIANGLE ALIAS J JJ S SS TABLE P J S PROCESSING TIME 1 2 3 A 5 3 B 3 2 C2 4 PARAMETER C J S STAGE COMPLETION TIME W J JJ MAXIMUM PAIRWISE WAITING TIME PT J TOTAL PROCESSING TIME BIG THE FAMOUS BIG M GG J JJ ORD J lt ORD JJ C J S SUM SS ORD SS lt ORD S P J SS W J JJ SMAX S C J S C JJ S 1 PT SUM S P J S BIG SUM J PT J VARIABLES T COMPLETION TIME X J JOB STARTING TIME Y J JJ JOB PRECEDENCE POSITIVE VARIABLE X BINARY VARIABLE Y EQUATIONS COMP J JOB COMPLETION TIME LMBIGM is the solver which generates a MIP problem by applying the Big M relaxation of a disjunctive set Then a conventional B amp B algorithm solves the MIP GAMS Input file generated by the application LogMIP User s Manual SEQ J JJ JOB SEQUENCING J BEORE JJ DUMMY FORCE NAMES INTO MODEL COMPIJ T G X J PT J SEQ J JJ ORD J lt gt ORD JJ X J W J JJ L X JJ DUMMY SUM GG J JJ Y J JJ G 0 X UP J BIG MODEL M ALL ONECHO gt lm info DISJUNCTION D J JJ D J JJ WITH ORD J ORD JJ IS IF Y J JJ THEN SEQ J JJ ELSE SEQ JJ J ENDIF OFFECHO OPTION MIP LMBIGM SOLVE M USING MIP MINIMIZING T LogMIP User s Manual 2 2 SMALL EXAMPLE 2 minc 2x x s a Y Y x x 2
27. lt 0 v 2 x lt 0 c 5 c 7 Y mb ff V X X S1 x 0 Y AnY gt 7Y Y gt X Y gt 7Y O lt x 5 0 lt x lt 5 c20 Y e true false j 1 2 3 Small example for illustration purpose It is composed by two disjunctions each one with two terms Each term of the first disjunction is handled by different variables The first term is true if Y is true the second term of the first disjunction is true if Y is true The second disjunction is handled just for one variable Ys The first term apply if Y is true the second if Y is false The logic propositions indicates that 1 If Y is true and Y false it implies that Ys must be false 2 Yand Ys cannot be both true at the same time LogMIP input file for this example SET I 1 3 SET J 1 2 SCALAR M 100 BINARY VARIABLES V I POSITIVE VARIABLES X J C VARIABLE Z EQUATIONS EQUAT1 EQUAT2 EQUAT3 EQUAT4 EQUAT5 EQUATE DUMMY OBJECTIVE EQUATI X 2 L X 1 2 EQUAT2 C E 5 EQUAT3 X 2 G 2 EQUATA C E 7 EQUAT5 X 1 X 2 L 1 EQUATE X 1 E M Y 3 DUMMY SUM I Y I G 0 OBJECTIVE Z E C 2 X 1 X 2 X UP J 5 C UP 7 LogMIP User s Manual ONECHO gt im info DISJUNCTION D1 D2 D1 IS IF A HAT OBSERVE the different syntax used to EQUAT2 pose a two term dis junction where each ELSIF Y 2 THEN term must satisfy a TRUE condition handled by two differen
28. n you must have ONECHO gt lim info Disjunction D I J D I J IS IF V I J THEN CONSTRAINT1 I J EQUATION I J ELSE CONSTRAINT2 I J EQUATIONZI I J ENDIF SOFFECHO The previous define a total of 12 3 times 4 disjunctions with two terms according to all possible combination of l times J Another illustrative example could be Ti Vij CONSTRAINT CONSTRAINT j4 In order to define it you must have in the GAMS section Declaration of domains SET 1 3 J A 4 ALIAS J K Declaration of constraints EQUATION CONSTRAINT I J K DUMMY Declaration of variables for the condition of disjunction terms BINARY VARIABLES Y I J Definition of constraints CONSTRAINT1 I J K define constraint here Dummy equation if needed DUMMY SUM I SUM J Y I J G 0 In the LogMIP section you must have LogMIP User s Manual 19 ONECHO gt im info Disjunction D I J D I J IS IF V I J THEN CONSTRAINT I J4 1 CONSTRAINT I J 2 ELSE CONSTRAINT I J 3 CONSTRAINT I J 4 ENDIF OFFECHO In the same way than the previous example with the sentences above a total of 12 3 times 4 disjunctions with two terms are defined according to all possible combinations of times J v You must be aware that when constraints domains are expanded together the disjunction s domains constraints must be previously defined in GAMS section If the constraints are not defin
29. nstraints definition Constraint definitions corresponding to disjunction terms are defined here Dummy equation just to avoid the elimination of variable Y SET 1 1 3 SET J A B C BINARY VARIABLES Y I POSITIVE VARIABLES X J T VARIABLE Z EQUATIONS EQUAT1 EQUAT2 EQUATS EQUAT4 EQUAT5 EQUATES EQUAT7 EQUAT8 EQUAT9 DUMMY OBJECTIVE EQUATI T G X A 8 Constraints independent EQUAT2 T G X B Ol discrete choices EQUAT3 T G X C 6 dsiunctions EQUAT4 X A X C 5 L 0 EQUAT5 X C X A 2 L 0 l EQUAT6 X B X C 1 L 0 TAIN ror EQUAT7 X C X B 6 L 0 aisunetions EQUAT8 X A X B 5 L 0 EQUAT9 X B X A L 0 DUMMY SUM I Y I G 0 OBJECTIVE Z E T EE c X UP J 20 from the model which handles disjunction terms LogMIP User s Manual ONECHO gt Im info DISJUNCTION D1 D2 D3 D1 IS IF V 1 THEN EQUAT4 ELSE EQUAT5 ENDIF D2IS IF V 2 THEN EQUATSO ELSE EQUAT7 ENDIF D3 IS IF Y 3 THEN EQUATS ELSE EQUAT9 ENDIF OFFECHO OPTION MIP LMCHULL MODEL PEQUE1 ALL SOLVE PEQUE1 USING MIP MINIMIZING Z Second Version Using 3 binary variable SET 1 3 SET J A B C BINARY VARIABLES V I POSITIVE VARIABLES X J T VARIABLE Z EQUATIONS EQUATI EQUAT2 EQUATS EQUATA EGUAT5 EQUATE EQUAT7 EQUAT8 EQUAT9 DUMMY OBJECTIVE EQUATI T G X A 8 Constrai
30. nts independent EQUAT2 T G X B sf bri sai EQUAT3 T G X C 6 4 disiunctions EQUATA X A X C 5 L 0 EQUATS X C X A 2 L 0 EQUAT6 X B X C 1 L 0 pena P EQUATT X C X B 6 L 0 Serete c EQUATS X A X B 5 L 0 dsiunctions EQUAT9 X B X A L 0 DUMMY SUM I Y I G 0 OBJECTIVE Z E T B ae X UP J 20 In this section are defined the disjunctions according to the syntax defined for LogMIP This section is compiled by LogMIP and ignored by GAMS LMCHULL is the solver which generates a MIP problem by applying the convex hull relaxation of a disjunctive set Then a conventional B amp B algorithm solves the MIP GAMS Input file generated by the application GAMS components declaration section GAMS equations and constraints definition Constraint definitions corresponding to disjunction terms are defined here Dummy equation just to avoid the elimination of variable Y from the model which handles disjunction terms LogMIP User s Manual ONECHO gt im info DISJUNCTION D1 D2 D3 D1 IS IF Y A THEN EQUAT4 ELSE EQUAT5 ENDIF D2is IF V B THEN EQUAT6 ELSE EQUAT7 ENDIF D3 IS IF Y C THEN EQUATS ELSE EQUAT9 ENDIF OFFECHO OPTION MIP LMBIGM OPTION LIMCOL 0 OPTION LIMROW 0 OPTION OPTCR 0 0 MODEL PEQUE1 ALL SOLVE PEQUE1 USING MIP MINIMIZING Z Third Version A
31. position must have an implication or equivalence operator otherwise a syntax error will occur LogMIP transforms the logical propositions into a set of mathematical integer inequalities Given the following set of logic propositions in LogMIP Section Y 1 and not Y 2 not Y 3 Y 2 gt not Y 3 Y 1 gt Y 3 or Y 4 or Y 5 Y 2 gt Y 3 or Y 4 or Y 5 Y 3 gt Y 8 Y 3 gt Y 1 or Y 2 Y 5 lt gt Y 8 They are transformed into the following set of inequalities written in GAMS language syntax LOGPROPI Y 1 Y 2 Y 3 G 1 LOGPROP2 Y 2 Y 3 G 1 LOGPROP3 Y 1 4Y 3 4Y 4 Y 5 G 0 LOGPROP4 Y 2 4Y 3 4Y 4 Y 5 G 0 LOGPROP5 Y 3 4Y 8 G 0 LOGPROP6 Y 3 4Y 1 4Y 2 G 0 LOGPROP7 Y 5 4Y 8 G 0 LOGPROP8 Y 8 4Y 5 G 0 Then the disjunctive problem including this mathematical inequalities set is Solved The user can avoid the writing of logic propositions into LogMIP section by introducing directly the mathematical equivalent inequalities in the GAMS Section it depends on how confident it is with one methodology or the other 6 Special Sentences The special sentences are sentences to establish single relationships between the Boolean binary variables handling the disjunction terms They represent an easy and more natural way than logic propositions to express the most common relationships be
32. rms that are true or false The algorithm runs as many NLP subproblems as initializations is provided By running these subproblems it is possible to generate the first MASTER MIP More details about this initialization step can be found in Turkay and Grossmann 1996a There is a special LogMIP language construction for this purpose The initialization entries must be provided in LogMIP section The keyword INIT is used After that you must provide the list of disjunctions terms that are TRUE or FALSE by adding those words and the list of variables that handle those terms separated by commas and ended by a semicolon Each INIT entry corresponds to an initialization set a new NLP subproblem In the Nonlinear example showed in section 2 this initialization is provided INIT TRUE Y 1 Y 3 Y 4 Y 7 Y 8 INIT TRUE Y 1 Y 3 Y 5 Y 8 INIT TRUE Y 2 Y 3 Y 4 Y 6 Y 8 The first initialization set specifies that the first term of disjunction 1 3 4 7 and 8 must be true the second 1 3 5 y 8 and the third 2 3 4 6 y 8 The algorithm executes three Non Linear Program problems by considering in the model the constraints of the disjunction terms that are TRUE The resulting problem must be feasible so the correct initialization sets must be provided The initialization entries must be written after the disjunction definitions The same specification can be done by the following sentences INIT FALSE Y 2 Y 5 V 6
33. se symbols Both filenames must be the same For versions 21 2 and up the previous items 1 and 2 are not needed A larger example The following example corresponds to a jobshop scheduling problem Raman and Grossmann 1994 In this problem there is a set of jobs iel that must be processed in a sequence of stages but not all jobs require all stages Zero wait transfer policy is assumed between stages To obtain a feasible solution is necessary to eliminate all clashes between jobs It requires that no two jobs be performed at any stage at the same time This is expressed by the following disjunction Yik Wik lt Llim Stet MU vV fgt Ziy S tit Tim meJ i meJ k meJ k meJ k m amp j m j m amp j m j where t is the starting time of job i and vj the processing time of job i in stage The meaning of 1 is that either the job i precede job k or viceversa in the stage j where a clash can occur The objective is to minimize the makespan LogMIP User s Manual 24 The subset is used to prevent clashes at stage j between job i and k In the following we include GAMS file for a jobshop scheduling problem to illustrate how to use a subset to control the disjunction domain The LogMIP input file corresponding to this example is the following SETS I jobs A B C D EF G ALIAS I K SET J stages 1 5 ALIAS J M Subset L to prevent clashes at stage j between stage i and k SET L I K J A B 3 A B 5
34. t variables EQUATS against a two term disjunction with one EQUAT4 TRUE term condition and the other with ENDIF a FALSE one handled by the same variable D2 IS IF Y 3 THEN EQUATS5 ELSE EQUAT6 ENDIF Y 1 gt not Y 3 Logic Propositions to establish Y 2 gt not Y 3 relationships between the Y 37 gt not V 2 disjunctions terms OFFECHO LMBIGM is the solver which generates a MIP problem by OPTION MIP LMBIGM applying the BigM relaxation MODEL PEQUE2 ALL of a disjunctive set Then a SOLVE PEQUE2 USING MIP MINIMIZING Z conventional B amp B algorithm solves the MIP GAMS Input file generated by the application LogMIP User s Manual 2 3 NON LINEAR EXAMPLE Synthesis of 8 processes X19 X20 Y 6 X X 1 gt X X X13 gi 4 m Y X Zi Os X Xs Xji Y 21 22 23 2 gt 4 7 x 25 Y Y Xis Koy 17 Xig 5 x 8 gt x Y X X 8 9 vy 3 gt Y i 10 x 8 min Z Ye a x 122 k 1 st Mass Balances X X X4 X6 X Xg Kg Xe x x Xji Xj X15 X13 X19 Xp Xg X g X25 X17 X39 X22 X23 X23 Xy X54 Specifications X19 08 x lt S 0 xp 04x7 20 Xp xX lt 0 x p 2X44 gt 0 LogMIP User s Manual 10 Logic Propositions Y gt Yav Yav Ys Y2 gt Yav Yav Ys Y Yiv Y2 Y Ys Y
35. tween the Boolean binary variables LogMIP User s Manual 28 There are three kind of special sentences gt atmost gt atleast gt exactly The syntax of these sentences are atmost Boolean binary variable list separated by comma number atleast Boolean binary variable list separated by comma number exactly Boolean binary variable list separated by comma number The meaning of atmost is that the summation of the variable list must be less than or equal to number The meaning of atleast is that the summation of the variable list must be greater than or equal to number The meaning of exactly is that the summation of the variable list must be equal to number number is optional if no number is specified 1 is assumed The Boolean binary variable list can include single variables and also a variable defined over a domain Example Given the following set of special sentences in LOGMIP section atmost Y 1 Y 2 Y 3 2 atleast Y 1 Y 2 Y 3 3 exactly Y 1 x 2 Y 3 They are transformed into the following set of mathematical inequalities LOGPROP1 4Y 1 4 Y 2 Y 3 L 2 LOGPROP2 Y 1 4x 2 Y 3 G 3 LOGPROP3 4Y 1 4 Y 2 4Y 3 E 1 7 LogMIP compilation errors v The syntax semantic and some other errors detected during the disjunction s compilation phase are shown in the execution window of the IDE They are not included in the listing file
36. ty as LP MIP and NLP modeling these problems have a rich area of applications LogMIP 1 0 has been developed by A Vecchietti J J Gil and L Catania at INGAR Santa Fe Argentina and Ignacio E Grossmann at Carnegie Mellon University Pittsburgh USA LogMIP is composed of alanguage compiler for the declaration and definition of disjunctions and logic constraints solvers for linear and non linear disjunctive models Those components are linked to GAMS Both parts are supersets of GAMS language and solvers respectively LogMIP is not independent of GAMS Besides the disjunction and logic constraints declaration and definition LogMIP needs the declaration and definitions of scalars sets tables variables constraints equations etc made in GAMS language for the specifications and solution of a disjunctive problem 2 Disjunctive model formulation The models for LogMIP have the following general formulation min Z Xc f x d y k s t g x lt 0 r x Dy lt 0 Aysa Viz v h x amp 0 ke SD ie D Ck Yi Q Y True xeR ye 0 1 Y e True False c 20 X Ck are continuous variables y are binary variables 0 1 Yi are Boolean variables to establish whether a disjunction term is true or false AY logic relationships between Boolean variables f x objective function which can be linear or non linear g x linear or non linear inequalities equalities independent of the discrete choices r X Dys0 mixed int
37. u need a different control the ALIAS definition allow that you can define a with clause over it The previous example will generate the following disjunctions D 1 2 D 1 8 D 1 4 D 2 3 D 2 4 y D 3 45 Note that for the first term of disjunction D 1 2 the following constraints must be satisfied CONSTR1 2 CONSTR2 1 1 and CONSTR2 1 2 for the first term of disjunction D 2 3 the following constraints must be satisfied CONSTRAINT1 3 CONSTRAINT2 2 1 CONSTRAINT2 2 2 andso on v If you control the domain of a particular constraint with the sentence with you must be aware which domain expansion is assumed in order to avoid errors on it Observe that in the previous example it has been compared the order of a set item against an integer number because the order is related to a position into the set the position in which the item has been defined in the set 4 4 4 Example 4 Using a subset and the GAMS GDX facilities Sometimes it is useful to restrict the disjunction domain by using a subset of the original set s domain This can be done using the definition of a subset and the GDX facilities in the GAMS Section This possibility is available for GAMS versions 20 5 and up There exist two versions of this implementation depending on the GAMS version that is running in the system This method for controlling the set domain has
38. xth International Conference on Foundation of Computer Aided Process Design FOCAPD 2004 p 587 590 2004

Download Pdf Manuals

image

Related Search

Related Contents

MAX2651/MAX2652/MAX2653 EV Kit Full Data Sheet  Magicolor 1600 series      Hama ASF 300  LYCEE BOISJOLY POTIER - Lycée Boisjoly Potier  BEDIENUNGSANWEISUNG  

Copyright © All rights reserved.
Failed to retrieve file