Home
Xpress IVE
Contents
1. m Double click on a node to obtain a listing of all of its ancestors shown in the View text dialog m When the optimization is complete paused or stopped search for specific branching variables in the tree using the tree highlighter tool can be enabled disabled from the Run Options dialog just select a variable name from the drop list and all visible nodes branching on that variable will begin to flash in alternating blue and yellow Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 38 m To stop highlighting select the first item in the highlighter tool droplist the blank m While there is no limit on the size of the displayed tree if the tree is very large e g over 200 000 nodes on a PIII 800Mhz machine it will react slowly to user actions 3 12 1 Parallel branch and bound trees Note that each branch is colored according to the thread that processed the node Shown below are trees obtained with 2 4 and 8 threads 2 threads 4 threads When paused highlight nodes branching on LY Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 39 8 threads Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 40 3 13 The SLP search tab of the Run Bar SLP Unconverged variables 8 r v Unconverged variables Unconverged variables 02 Time SLP Evolution of objective Iv Objective na O
2. Scope A Perfor global search automaticaly amp Solve LF ignoring gobal entities E Stop alter LP E Global search andy em needed Click to acd seis 1o declaration niinus anepi of inci Mosel preview Cleat index eats dnisib abCUIEOE This peview is independent of the model open in the editor Select and diag ai ca Constrsintlmsme array af lincczr m 7 Results amp tuning Wizard Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 59 Description Mewton baner The manimum number of erations Wine Ihe simples method usually pasos a number of eations which is proportional to tres riamber of creant ioe m problem lhe Easier method 3tandaedig finds Gye opima solution Io a grin accurcp I After a number of ierstians which is independent of the MIPABSS5TUF Rene size The piersalty is rater Ihal the line for each HIPRELSTOP Heaton increases with the size of the poblem BARITERLIMIT specifies the marum rimer of iterasinns which wil be cased oul bp Ihe barrier Typa Integer Caia Valuer 200 E Priority 1 100 10 Force directions LS Up Dcum E Up pseudacoct a Down pseudocast Mosel preview Inset alcuteot This preview is inthe editor Select and diag ar Modify Optimizer control paramecer BARIITRLIHII setparam XPRS BARIIFRLIMII value m 8 Text Site Wizard Sn cc eere EL RH tha modet say ARCS range 1 2
3. Go to the next indentation level also present in View menu z Undo last text editor action also present in View menu c Redo last text editor action also present in View menu id Remove any bookmarks placed by a recent search also present in Edit menu Tir Search within the text editor also present in Edit menu Repair Window Layout also present in View menu Show the Xpress IVE help system Xpress IVE OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 10 3 1 2 Execution Toolbar pF Show the Wizards Dialog m Show the 1 Name amp Type wizard also present in Wizards menu m Show the 2 Parameters wizard also present in Wizards menu m Show the 3 Data Input wizard also present in Wizards menu m Show the 4 Variables wizard also present in Wizards menu m Show the 5 Objective wizard also present in Wizards menu m Show the 6 Constraints wizard also present in Wizards menu m Show the 7 Results amp tuning wizard also present in Wizards menu m Show the 8 Text Output wizard also present in Wizards menu m Show the 9 Graphing wizard also present in Wizards menu m Show the 10 Programming wizard also present in Wizards menu m Show the 11 Debugging wizard also present in Wizards menu m Show the 12 Complete models wizard also present in Wizards menu i Show the Deploy dialog also present in Deploy menu pn Show the Self Executing Model dialog also present in Deploy
4. 9 Right justified Mosel preview Digits after decimal point Left justified Minimum length in characters B This preview is independent of the model open in the editor Select and drag or copy paste as needed write value of Identifier to output write Identifier The Text Output wizard lists all entities in the current Mosel model and produces code for displaying the values of the entities Special formatting is optional This wizard also shows how to write to a file 5 9 9 Graphing Wizard Mosel assistant scratch pad S Graphing Include the module mmive in a model to enable access to drawing functions 1 Name amp Type Graphing primitives Plot colors 2 Parameter Poi Predefined colo 3 Data Input 4 Variables 5 Objective e etic B Constraints 255 Red 7 Results amp tuning 8 Text Output Custom color Rectangle 128 Green 10 Programming etc 11 Debugaing 12 Complete models How to Zoom Constrain plot area between given coordinates Erase graph Sample applications Plot a unidimensional array X en Plot a yi graph using two unidimensional anays x y Mosel preview Ellipse 0 Bue Q Preview NT J This preview is independent of the model open in the editor Select and drag or copy paste as needed declarations graph integer end declarations graph IVEaddplot Y Y IVE BLUE Create a graph forall index i
5. FICO Xpress Optimization Suite Xpress IVE User Manual Release 1 24 Last update 30 March 2013 www fico com Make every decision count This document is the confidential proprietary and unpublished property of Fair Isaac Corporation Receipt or possession of it does not convey rights to divulge reproduce use or allow others to use it without the specific written authorization of Fair Isaac Corporation and use must conform strictly to the license agreement The information in this document is subject to change without notice If you find any problems in this documentation please report them to us in writing Neither Fair Isaac Corporation nor its affiliates warrant that this documentation is error free nor are there any other warranties with respect to the documentation except as may be provided in the license agreement 01983 2014 Fair Isaac Corporation All rights reserved Permission to use this software and its documentation is governed by the software license agreement between the licensee and Fair Isaac Corporation or its affiliate Portions of the program copyright various authors and are licensed under certain open source licenses identified in the software itself in the lt XPRESSDIR gt licenses readme txt file In no event shall Fair Isaac Corporation or its affiliates be liable to any person or direct indirect special incidental or consequential damages including lost profits arising out of the use of this
6. 200 This preview is independent of the model open in the editor Select and drag or copy paste as needed Modify Optimizer control parameter BARITERLIMIT setparam XPRS BARITERLIMIT value The Results amp tuning wizard has two parts 5 7 1 Optimizer control parameters This interactive section groups all the Optimizer control parameters into families Select a family and then a control for a full description 5 7 2 Setting directives on global entities Global entities integers binaries etc can be given higher branching priority Other attributes related to branching can be set for variables Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 66 Xpress IVE Wizards 5 8 8 Text Output Wizard Mosel assistant scratch pad 8 Test Output All data variable and constraint identifiers in the model 1 Name amp Type integer 2 Parameters integer 3 Data Input ING integer 4 Variables linctr 5 0bjective set of integer 6 Constraints set of string 7 Results amp ung array amp RCS range 1 2 of string dynamic array of linctr S Graphing array ARCS of integer 10 Programming etc array ARCS of mpvar 11 Debugging array ARCS of integer 12 Complete models array ARCS of integer array NODES of integer array NODES of integer Write to Use formatting Standard output Standard Mosel data file A random file
7. Dgroupsetvisible id group button false xADgroupsetvisible id_group_ canvas true XA Dgroupsetvisible id group text false XADgroupenable id group B false X Dgroupenable id group T false X Dgroupenable id group C true else X Dgroupsetvisible id group button false XA Dgroupsetvisible id group canvas false X Dgroupsetvisible id group text true X Dgroupenable id group B false X Dgroupenable id group C false XA Dgroupenable id group T true end if end procedure procedure Exit Window PRESSED X Dwindowclose id win end procedure lt lw XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 81 The Mosel code has the following parts ignoring those parts common to standard Mosel models m Load the window from resource Here we load the resource file in to the model All resources equate to one XAD window and the return value of the function used to load the resource XADloadresource is the id of the XAD window object id win in this case m Retrieve the object group ids Although we need not retrieve the object ids for all of the resource objects if we wish to manipulate or respond to events for that object we must do so When creating the resource each object group will have been given a name either the default XAD OBJECTTYPE COUNTER or set by the user and it is this that we will use to retrieve the object ids Using the XAD functions xAD
8. INE 3l harp2 mos R array 113 BR20 sum c in BR20A011 BR20A H E Go M Iz h u mos R array lt 113 gt BR29 sum c in BR29A012 BR29A sum c in COCLA012 COCLA sum c in COLMA012 COLMA sum c in CONNA0O12 CONNA sum c in CON0AO11 CONOA sum c in CON9A012 CON9A sum c in COUOAO011 COUOA sum c in COU9A011 COU9A sum c in CRVOA012 CRVOA sum c in CRV9A012 CRV9A sum c in ELPAA011 ELPAA sum c in ESCOA011 ESCOA sum c in ESC9A011 ESC9A sum c in FRAMA012 FRAMA sum c in FINKA012 FTNKA LINE 33 harp2 mos R array lt 113 gt COCL LINE 34 harp2 mos R array 113 COLM LINE 35 harp2 mos R array lt 113 gt CONN LINE 36 harp2 mos R array lt 113 gt CONO LINE 37 harp2 mos R array lt 113 gt CON9 LINE 38 harp2 mos R array lt 113 gt COUO LINE 39 harp2 mos R array lt 113 gt COU9 LINE 40 harp2 mos R array lt 113 gt CRVO LINE 41 harp2 mos R array lt 113 gt CRV9 LINE 42 harp2 mos R array lt 113 gt ELPA LINE 43 harp2 mos R array lt 113 gt ESCO LINE 44 harp2 mos R array lt 113 gt ESC9 LINE 45 harp2 mos R array lt 113 gt FRAM LINE 46 harp2 mos R array lt 113 gt FINK n pe nere Output Input Stats Matrix Solutions Objective MIP search BB tree User graph IS While debugging Mosel code the user ha
9. Obj 1325 5 65 145 200 1325 0 1325 Objective value progress during Simplex or Newton barrier Click for graph history Objective Duality gap Simplex Objective variation uongJa Output Input Stats Matrix Solutions Objective MIP search BB tree SLP Usergraph IS 3 6 6 MIP search Progress of the global search for integer solutions Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 21 tive Objec 3 6 7 BB tree The evolution of the Branch and Bound MIP search When paused highlight nodes branching on 423 3 6 8 SLP progress SLP progress Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 22 Xpress IVE Toolbars SLP Unconverged variables Iw Unconverged variables Ga cn cn d ele ee Unconverged variables na I qJ I 1 I 4 I I I J I I I na Objective MIP search BB tree E Sat T Mat Slaton bec 3 6 9 User graph Graph constructed by user during the Mosel run User graph Click for graph history Output Input Stats Matrix Solutions Objective MIP search BB tree User graph Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 23 3 6 10 CP stats and CP search Models using the Xpress Kalis solver generate display in two additional tabs When p
10. Select and drag or copy paste as needed Invoke the Optimizer to solve problem with objective function Objective minimize Objective Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 64 The Objective wizard allows the selection of a linctr object as the objective function and explores the various options available when optimizing a model 5 6 6 Constraints Wizard Mosel assistant scratch pad 1 Name amp Type 2 Parameters 3 Data Input 4 Variables 5 0bjective 8 Text Output 9 Graphing 10 Programming etc 11 Debugaing 12 Complete models 6 Constraints Existing linear constraints Cost linctr MinQuant linctr Balance dynamic array of linctr Mosel preview Declare new constraint s Identifier ConstraintN ame Scalar Set Array C Dynamic array ConstraintN ame array of linctr Click to add sets to declaration lesz ARCS ARCS range NODES Clear index sets This preview is independent of the model open in the editor Select and drag or copy paste as needed ConstraintName array of linctr The Constraints wizard can be used to declare linear constraints Type the name of a constraint and select index sets if an array Optionally specify the type of the decision variable s Watch as the source code is constantly updated based on your selections Xpress IVE Wizards OCopyright
11. 1983 2014 Fair Isaac Corporation All rights reserved page 53 Modules available to Xp Module mm prs contains 104 constants 136 subroutines 3 types 16 operators 214 controls O10 drivers Name Version v kalis 103287 Functions amp Procedures a mmetc 1 8 0 S mmive 1 21 1 za mmive IVETI 21 1 getname A mpvar string 3 mmiobs 1441 getprobstat integer S mmnl 1 21 E getrange j integer B mpvar real 77 mmaci invalid ri getrange A integer B linctr real S mmodbc 211 getright A lagctr logetr S mmquad 125 E getsensmg A integer B mpvar real I mmsystem 17 0 TE getsensmg A integer B linctr real S mmxad 1 2 4 gettype logetr integer i mmxemd 1 7 3 mpvar real t 2 1 0 logetr mpvar 3 mmxslp 173 implies linctr B linctr logctr Subroutine name Parameters Returns implies lagctr B linctr legctr implies linctr B lager legctr implies gt logctr B lagctr legctr indicator integer B mpwar C linctr legctr 42M 42M xrm xrm am Print list Lists the contents constants subroutines operators types and control parameters of Mosel dynamic modules that are currently available to Mosel Please refer to the Mosel documentation for more information on what modules are m Select a module name from the list on the left and then browse through its contents using the tabs on the right m A green check next to a module name indicate that it was successfully loaded by Mosel m A
12. 1983 2014 Fair Isaac Corporation All rights reserved page 65 5 7 7 Results amp tuning Wizard Mosel assistant scratch pad 7 Results amp tuning 1 Name amp Type 2 Parameters 3 Data Input 4 Variables 5 Objective 6 Constraints 7 Results amp tuning 8 Text Output 3 Graphing 10 Programming etc 11 Debugaing 12 Complete models Parameter BARITERLIMIT CPUTIME LPITERLIMIT Optimizer control parameter categories Performance and stopping criteria Precision and tolerances Simplex primal amp dual Newton Barrier controls MAXMIPSOL MILP cuts amp cut strategies MAXNODE MILP branching and variable selection MAXTIME MILP heuristics MIPABSSTOP Dutput logs MIPRELSTOP Set directives on global entities T Priority 1 1000 10 Force direction Up Down F Up pseudocost 0 Down pseudocost Mosel preview Description Newton barrier The maximum number of iterations While the simplex method usually performs a number of iterations which is proportional to the number of constraints rows in a problem the barrier method standardly finds the optimal solution to a given accuracy after a number of iterations which is Independent of the problem size The penalty is rather that the time for each iteration increases with the size of the problem BARITERLIMIT specifies the maximum number of iterations which will be carried out by the barrier Type Integer Default Value
13. 1e 020 D D D 0 0 1e 020 0 0594413 co Cc cH e to BO c3 D hm R3 R3 R3 Po M DR PR BR BO BR o m m m m m E m E m m m m m m 2 m m m E N Output Input Stats Matrix Solutions Objective MIP search BB tree User graph This view lists all variables columns in the matrix currently loaded in the Optimizer Note m Not all variables declared in the model may have been sent to the Optimizer m Values are updated as they become available e g if a new integer solution was found the values are immediately updated The headings are 1 An icon showing the type of the variable 2 Column The column number in the matrix for the current variable 3 Name The name of the variable as understood by Mosel 4 Rows The number of rows constraints in which the variable participates 5 LB The lower bound for the variable 6 UB The upper bound for the variable 7 Solution The current solution value of the variable Check problem status to see if solution is valid 8 Reduced cost Current reduced cost See above for validity 9 Type Description of the type of the variable continuous binary integer semi continuous semi continuous integer partial integer Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 30 3 9 3 The Row View Matrix d Mame Cols RHS Activity OBJECTIVE 256 H1 24 R2 40
14. 2 The Model Explorer Bar showing the entity tree n Can be shown hidden by selecting Model Explorer Bar from the View menu or by clicking the icon on the Project pane The Model Explorer Bar contains the entity tree the A 2Z entity list and the most recently accessed entities combo list Model Explorer Model Explorer 008 Problems Z Problems Z Solution n a Solution n a constrain_sum Entities A Z Entities A gt Z values C jobs papers mos C jobsspapers mos C jobs papers mos e Parameters 3 Parameters Parameters 3 Constants e Constants Constants Egg Primitives El 33 Primitives Eg Primitives B f sets S sets B f sets i MODELS i MODELS i MODELS i SUBPROBS i SUBPROBS i SUBPROBS i VARS i VARS i VARS 3 Subroutines Subroutines 3 Subroutines User defined Types User defined Types 33 User defined Types S Problems B f Problems G33 Problems Main Problem Main Problem Main Problem m SubProblems 1 z SubProblems 1 E SubProblems 1 Decision Variables Ci s Decision Variables G3 Decision Variables amp arrays amp arrays 6 arrays V values V values v values S Constraints S Constraints S Constraints B scalars El scalars B scalars constrain sum f constrain sum constrain sum E SubProblems 2 E SubProblems 2 E SubProblems 2 H SubProblems
15. 3 H SubProblems 3 SubProblems 3 saw Model Explorer 53 Project Explorer sau Model Explorer 533 Project Explorer s2 Model Explorer lt 2 Project Explorer After the successful compilation of a Mosel model the entity tree will be populated with identifiers from the model After a successful execution of the model the values of the identifiers Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 12 appear in tooltips when the mouse is nearby The complete values can be examined by double clicking on an identifier which will open the View text dialog If a model is being solved for multiple solutions then the controls under recently accessed entities list can be used to select a given solution the best solution is chosen by default The identifiers are grouped in the following categories Parameters Parameters can have the same type as Mosel primitives but they are special entities as they can be used to pass information to a model without having to edit it Constants Constants also have regular primitive types but their values cannot change at runtime Primitives These are primitive types integer real boolean string either standalone or grouped into sets or arrays User types defined within Mosel modules will also appear here Refer to the Mosel Native Interface documentation for details on how to define and use such external types Note that if user types do not support
16. 3 Xpress IVE Toolbars 10 5 The Tolba izu ez4kR9ex XAaxSEeSSESERZSTeMAeRBIRNXE4d4SEBSE ETESES 10 3 1 1 Navigation Toolbar io x4 e eO EUR mu o9 9 How eee eee D x eee 10 3 L Execution Toolbar ooo o 9 m d iatri OSOS EGROROERXGXUWXa5 3 11 Aks look PRODI kou E wuhueE Y E ORE RR RR eae Seed EYEE ERG 12 3 2 The Model Explorer Bar showing the entity tree 12 3 3 The Project Explorer Bar woe ec se mono Remo mom wo kom 3o Em Rm m Wc y Rx RR 13 3 3 1 Operations on Projects csi 4804442224 see om m momo xod Row DEE EES 14 3 3 2 Pop up menu for the Project 000 a 15 3 3 3 Pop up menu TOF files ss due wo x E tbe ox x ew eee a 15 3 3 4 Pop up menu for folders 0 eee ee ee es 15 3 3 5 Drag and Drop within the Projecttree 2 0200 eee eee 16 3 3 6 Editing file and folder names ee ees 16 Bor PUNO geet eas tee 5985839 m ouo 4 4E S WONUEOGEGE E ROG 8 0303 16 3 3 8 The PROJECTDIR parameter a a 16 of IHRE ua be wwe tee eee 4 m dba d 4 hA xx d d SX EU RC UE UE RP S 16 S TOOL EM Lue eum mom eek bee bee BP EX ee thaw eee wee ee eee eh Ax 17 36 PAM AMT 17 3 5 1 OUtPUVINPUT uuu sxa eR eU de RR EERE eS EES UR Ec Be s 18 Sd SUS owt eee eee eee E X OW WE Cee PORE OEOR B 38 OE E E vb ORO 19 Se l S uu ou 3 wo 9x ww eee ee 5953x445 3uu 15 425 20 30A SOUUONS uoo 9 coe xw 09 3 xA EO Bee eee eee eee ewe BO 3 D SES 20 59 Vee oe aca m m 9 Pes ROS D Eck ue e A E SOROR
17. E ee eee ee Roh 21 3 6 6 MUPSSA oa ko ck Ecce RESe Ce RRR eH Ee eee Eee EKG ee es 21 BO ee we eee eee ee Pee eR ee x mou eee eee ehh draps 22 2p Sy Pe ba bee ke hae eee eek ae oe eee UR re RR Ach ee 22 309 MOS Od caos x ORE EUROROE EUR AGE Roh OE ee ee eee ee eee ee 4o 23 3 6 10 CP stats and CP search 2 leeren 24 3 7 The Output Input tab of the Run Bar llle 24 3 7 1 User input in the Output Input tab of the Run Bar 25 Xpress IVE Copyright 1983 2014 Fair Isaac Corporation All rights reserved page i 3 7 2 The Optimizer Output tab of the Run Bar 0 0 00 eee eee 26 3 7 3 Debugger output in the Output Input tab of the Run Bar 27 3 8 The Stats tab of the Run Bar 2 2er s 27 3 9 The Matrix tab of the Run Bar naaa aa rens 28 3 9 1 The Sketch VIEW uu now ouem euewewiees o 64045 Eck Fe eee bee eee 28 3 9 2 The Column View xx sx 446646 266268 ESETGESESSe m eS1 us 30 3 9 3 The ROW View 2 2 4 x9 9x 26686 OR deeb dee eee ERE 4 5 xo ws 31 3 9 4 The Graphical View ccr hora hys 32 3 9 5 The Scaling View uucko ox beam EO Rue Do mox RR deck mod EAE REDS 33 3 10 The Objective tab of the Run Bar 22er 33 3 11 The MIP search tab of the Run Bar clle 35 3 12 The BB tree tab of the Run Bar llle ns 36 3 12 1 Parallel branch and bound trees l l 39 3 13 The SLP searc
18. H3 2 H4 2 H5 2 RB 10 AF b R 12 R3 a0 12 gz g Wi I O 2 A amp Of oS cnrcccocccoo3c cu p p u Output Input Stats Matrix Solutions Objectrve MIP search BB tree User graph This view lists all constraints rows in the matrix currently loaded in the Optimizer Note Not all constraints declared in the model may have been sent to the Optimizer only constraints linked to the Objective function are sent to the Optimizer m Values are updated as they become available e g activity values are updated when finding solutions The headings are An icon showing the type of the constraint Row The row number in the matrix for the current constraint Name The name of the constraint as understood by Mosel Cols The number of variables columns with nonzero coefficients in this constraint row RHS The right hand side of this constraint Activity Its current activity value Slack Its current slack value Dual Its current dual value So 2 SS OMS PS X N Type Description of the type of the constraint range free Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 31 3 9 4 The Graphical View Output Input Stats Matrix Solutions Objective MIP search BB tree SLP User graph TS m Use the slider on the left to change the relative size of the two windows m If the matrix is small less than a hundred rows a
19. Mosel model file Specifically it must contain the end model line m Select Groups To select a group of objects you may hold down Control whilst clicking on the individual controls You can drag select a box around the desired objects beginning the selection box anywhere on the form background Or if you have already created groups of objects you can select them via the Current Groups control in the XAD Properties Dialog m Delete Objects In order to delete the currently selected object you must simply press the Delete or Backspace keys m Repositioning the Form You may reposition the form within the editor pane by clicking and dragging as you would a standard Windows window alternatively you may use the FED Positioning Control in the XAD Properties Dialog XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 73 7 1 2 XAD Resource Editor Groups Groups Current Groups ogressGr 5 wt Mame ProgressGroup Hide Group in Editor Save Changes Grouping together objects within the XAD Resource Editor allows multiple objects to be moved hidden or disabled simultaneously both in the resource editor itself and perhaps more powerfully from within XAD Mosel code There are two distinct types of object groups Temporary Groups used simply to move around several objects at a time and keep them at the same relative distances from each other Temporary groups may be promot
20. Ready Idle Free Memory 672 MB Line 36 176 Col 0 2 locations When an entity is clicked on in the entity tree all the lines where the entity is present are added to this clickable list Click on a line in the list to highlight it in the editor Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 16 Information n CBUY C xpressmp examples mosel Modeling coco mos Line 38 CBU array RR RT of real Unit cost to buy raw material r Last matrix CBUY C pressmp examplessmoselModelingscoco mos Line 73 CBUY 100 38 97 100 CBU Y C pressmp examplessmoselModelingscoco mos Line S0 sumfr in RR f in RF tin RT CBU Y r t buyfr ft raw mat cost Build CBUY locations Debug Watch Ready Free Memory 653 MB Line 38 176 Col 5 3 Debug watch Editable list of identifiers whose value is shown Information q Identifier Value Last matrix buy 1 1 1 Solution 420 Reduced cost 0 RP 1 2 RT 1 2 3 4 Build CBUY locations Debug Watch Ready Idle Free Memory 642 MB Line 50 176 Col 35 In addition the Info Bar shows a sketch of the latest matrix loaded in the Optimizer Note that the matrix may be presolved 3 5 Tools Bar Can be shown hidden by selecting Tools Bar from the View menu or by clicking the e button on the Toolbar blending mos air mips AU t dl 1 J I2 The Tools Bar is made
21. Wizard 6 Constraints Wizard Invokes the Constraints Wizard 7 Results amp tuning Wizard Invokes the Results amp tuning Wizard 8 Text Output Wizard Invokes the Text Output Wizard 9 Graphing Wizard Invokes the Graphing Wizard 10 Programming Wizard Invokes the Programming Wizard 11 Debugging Wizard Invokes the Debugging Wizard 12 Complete models Wizard Invokes the Complete models Wizard pF 13 More wizards Invokes the Wizard viewer without selecting any particular wizard RU Deploy Opens the Deploy dialog dy Self Executing Model Opens the Self Executing Model dialog Create a new module Opens the New Module Wizard dialog 2 10 The Window menu Cascade Tile Arrange Icons Xpress IVE Menus OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 8 Cascade Cascade the opened windows Tile Tile the opened windows Arange Icons Arrange icons when all windows are minimized 2 11 The Optimizer menu Optimize matrix file Repair infeasible problem 5 E fl Find M best solutions Optimize matrix file Shows the Optimizer dialog which allows for the optimization of matrices in LP or MPS format izi Repair infeasible problem Shows the Optimizer dialog with options for relaxing an infeasible problem Find N best solutions Shows the Optimizer dialog which options for finding alternate optimal solutions 2 12 The Help menu mpress Help 45 xpress IVE Hel
22. aints These values will override the values specified in the text of the model Results amp tuning 8 Test Output 3 Graphing Notes The parameter type is inferred by Mosel from its value 10 P ing etc 11 Debugging TE The parameters block must immediately follow the header of a model 12 Complete models Parameters are treated as constants Their value cannot be changed at runtime Parameter types Boolean true or false Integer An integer between 2 147 483 548 and 2 147 483 547 Real number between 1 7e 308 and 1 7e 308 String amp quoted string of characters Mosel preview This preview is independent of the model open in the editor Select and drag or copy paste as needed model ModelName parameters section first parameters MAXTIME 300 USE LOG false end parameters Rest of the model declarations statements etc 1 end model Xpress IVE Wizards Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 62 The Parameters wizard shows a small typical example of using parameters in Mosel The wizard also shows how to interact with Mosel parameters from a programming language or the Mosel console application 5 3 3 Data Input Wizard Mosel assistant scratch pad 3 Data Input Existing data identifiers 1 Name amp Type AsgnGraph integer 2 Parameters NP integer PersGraph integer 4 Variables ProjGraph integer 5 biective RP set of integer 5 Constraints PREF arra
23. by one line stepping over functions procedure calls While debugging advance the execution point by one line stepping into functions procedures While debugging run to the line where the editing cursor is positioned Shows the Debug Options dialog for modifying the behavior of the debugger Saves compiles and begins running the current mos Mosel model Every monitoring feature in IVE will be turned off to eliminate overheads statistics will be gathered regarding time spent on every line of Mosel code At the end of the run the profiler output will be produced Opens the Deploy dialog Opens the Self Executing Model dialog Opens the New Module Wizard dialog Opens the List Modules dialog Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 7 2 9 The Wizards menu 1 Name amp Type Ctrl 1 2 Parameters Ctrl 2 3 Data Input Ctrl 3 4 Variables Ctrl 4 5 Objective Ctrl 5 6 Constraints Ctrl 6 7 Results amp tuning Ctrl 7 8 Text Output Ctrl 8 9 Graphing Ctrl 9 10 Programming etc Ctrl Shift 0 11 Debugging Ctrl Shift 1 12 Complete models Ctri Shift 2 13 More wizards Deploy Self Executing Model New Module 1 Name amp Type Wizard Invokes the Name amp Type Wizard 2 Parameters Wizard Invokes the Parameters Wizard 3 Data Input Wizard Invokes the Data Input Wizard 4 Variables Wizard Invokes the Variables Wizard 5 Objective Wizard Invokes the Objective
24. case we re calling the id id win as above All ids are simply integer values and therefore we must add the line id win integer XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 86 m Load the Resource To associate a resource with an id the resource and thus its associated objects are loaded using the XAD function XADloadresource This function returns the integer id it has associated with the loaded resource and we assign this to id win Note if your Mosel code file and resource file are saved in different folders then you will need to specify a path to the resource file in the argument to XADloadresource m Open the Window and Begin Execution In order to hand control of the application to the Main Window id win we need the program to display the window and associated controls To do so use the XAD function XADwindowopen id win m Exit the Program To cleanly exit and end the main section of the code we now add the exit 0 command to the Mosel code m Cleanup the Code Whenever a new Mosel file is created in IVE there may be default sections that are inappropriate to your program In this case we do not require the reference to mmxprs the parameters section or the Mosel writeln code and so they can be removed The Mosel code and resource should now look like similar to the images below and you should be able to run the application in IVE Try running the program and noti
25. conversion to from text the values shown here will be meaningless Subroutines A list of all the functions and procedures defined in the current model Problems The main Mosel problem and any other variables containing problem objects which can be selected in model by use of the Mosel with statement In the example images above the model contains an variable called SubProblems an array of 3 mpproblem objects Those entities which are displayed specific to a given problem are Decision variables Representing the special mpvar Mosel type decision variables are characterized by solution value and reduced cost after a successful optimization Linear constraints Representing the special linctr Mosel type linear constraints are characterized by activity value slack and dual value after a successful optimization Note that decision variables and linear constraints will only display correct values if the optimization was successful and a solution was found 3 3 The Project Explorer Bar Can be shown hidden by selecting Project Explorer Bar from the View menu or by clicking the u icon on the Project pane Creation loading and saving of Project files is handled by the Project menu Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 13 Project Explorer sa Hi C xpressmp examples ive els mos fe parent mos Eg Sub Models fx child mos 5232 Model Explorer E Project Explorer Proje
26. evolution in time of the duality gap during the Newton barrier algorithm Objective Click for graph history Simplex Objective variation V Objective iteration Duality gap V Duality gap Output Input Stats Matrix Solutions Objective MIP search BB tree m Atany time only one of these progress graphs can be active corresponding to the algorithm currently running m The graphs can be zoomed in and out and each curve can be shown or hidden using the checkboxes in the graph legend m Use the slider bar to change the vertical size of either graph m Xpress IVE maintains a history of the last ten graphs produced Select the desired graph from the list at the top Note that the graph history cannot be accessed during an optimization Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 34 3 11 The MIP search tab of the Run Bar MIP search n Click for graph history Accept current best solution and continue MIP Objective S Objective ei 0 01 02 03 04 05 06 OF 08 Time The graph on top shows the evolution in time of the MIP gap during the global search Also shown are the points where the integer solutions were found and the depth in the search tree at which each solution was found The graph below shows the progress of the current best integer solution objective relative to the best bound Integer solutions are mar
27. g when the optimizer is processing a presolved matrix the before presolve matrix is not currently relevant or if the activity described is either finished and still relevant the LP relaxation statistics are useful during the global search phase or not started yet The Time overheads section shows the approximate time spent by Xpress IVE on tasks other than optimization Note that the time overhead created by other programs processes running on the same machine is not accounted for even though they can slow down the optimization significantly 3 9 The Matrix tab of the Run Bar m Sketch view A summarized view of the rows and columns that make up the matrix m Column view A list of all columns in the matrix m Row view A list of all rows in the matrix Graphical view An interactive graphical representation of the matrix contents m Scaling view A histogram showing matrix coefficient ranges 3 9 1 The Sketch View Matrix a Sketch Column view Row view Graphical original Graphical presolved Scaling Count Constraints Variables buy 15 make 16 o openm 8 pstock 20 stock 20 sell 16 OBJECTIVE 16 16 8 16 16 16 Closed 12 MxM ake 16 8 MRA Stock 16 MxSell 16 PBal 16 32 16 RBal 16 32 32 n m co co co mo So WI WIAAAWAS i i Output Input Stats Matrix Solutions Objective MIP search BB tree User graph rs This view attempts to summarize arrays of co
28. green check with a Dash Optimization logo indicates a module which is part of the Xpress package m Two red question marks next to a module name indicate that even though a dso file exists it could not be loaded by Mosel 4 10 New Module Wizard Dialog Accessible by selecting Create a new module from the Modules menu or by clicking the v button on the Toolbar Module name Version N Module Contents persistent across runs of IYE 0 0 0 V Constants V Functions amp Procedures Constants Functions amp Procedures Types Control parameters V Types V Control Parameters Retum type Procedure name boolean Construct parameter list one at a time Parameter name Parameter type Parameter preview Mosel style preview of subroutine Function boolean Edit the contents of a virtual dso module constants subroutines types and control parameters then generate the template source code for producing the module Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 54 m Name the module and specify version numbers m Add some constants Note Aconstant is a scalar whose value cannot be changed Module name Version Construct parameter list one at a time Parameter name Parameter type Add parameter v Mosel style preview of subroutine If the box Create is checked the wizard will gen
29. groups list m Other controls Promote Selection To Group Clicking this button whilst having a number of objects selected through shift clicking or via drag selection will promote that current temporary selection to a saved group which you may then edit via the Groups controls Promote Selection ka Group The FED positioning control This displays the current position and size of the FED within the editing pane area Should you wish to reposition a particularly large FED you may do so by click dragging the representation of the FED around the control surface It will not allow you to move the FED to a position completely outside of the positioning control s field of view 7 1 6 XAD Resource Editor Example In order to demonstrate the use of the XAD Resource Editor and the associated XAD Mosel commands we will now look at the example 500selectiongroups mos in the XAD examples XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 80 folder of the Xpress installation This example not only covers the use of resources but the manipulation of resource generated groups within Mosel code and the use of an object in multiple groups Grouping Dameninticn s Sendsctiongreups mas Resource SOC Apgroupenable id group C false some d m BAT s C XADwindowclose id win end procedure S gt To begin with load the 500selectiongroups mos file in to IVE and view
30. m Yellow nodes are cut off m The 20 most recent nodes are in decaying shades of blue with bright blue being the most recent m The green nodes represent solutions The best solution so far is green and large The brighter the color the more recent the solution m When hovering the mouse above a green solution node a number will appear next to all solution nodes indicating the order in which the solutions were found m If fewer than 5000 nodes have been visited so far the entire tree will be drawn see above m If more than 5000 nodes have been visited only nodes up to a depth of 10 will be drawn fully The rest of the tree is summarized by scattered dots which will turn into real nodes when zooming Solutions and the 20 most recent nodes in blue are displayed regardless of their depth Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 36 When paused highlight nodes branching on m Zoom in by holding the left mouse button down dragging right and down and releasing it A rectangle will indicate the area to be zoomed m Return to full tree view by clicking the left mouse button when zoomed m When zoomed the lower left corner shows a scheme of the entire tree while the porthole representing the area seen in the main tree window is highlighted S When paused highlight nodes branching on Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reser
31. menu d Save and compile the current model also present in Build menu Fe Show the Run options dialog also present in Build menu Save compile and run current model also present in Build menu Uncheck to resume the execution after it has been paused also present in Build menu e Interrupt the execution also present in Build menu p Show the Export matrix dialog also present in Build menu Show the Optimizer dialog also present in Optimizer menu 9 Show the Optimizer dialog with options to repair infeasible problems also present in Optimizer menu d Show the Optimizer dialog with options to find alternate optimum solutions also present in Optimizer menu Show the List Modules dialog also present in Modules menu Show the New Module Wizard dialog also present in Modules menu Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 11 3 1 3 Tools Toolbar ce c Wid EY Et 45 D Re Set breakpoint also present in Debug menu al Set Remove breakpoint condition by invoking the Breakpoint condition dialog also present in Debug menu s Start Continue debugging also present in Debug menu xn Step over also present in Debug menu zu Step into also present in Debug menu Run to cursor also present in Debug menu Le Invokes the Debug Options dialog also present in Debug menu d Start profiling the Mosel model also present in Debug menu 3
32. or position the attributes may be set using click dragging within the FED The dialog itself is split up in to several sections the behaviour of groups deserves a separate page and so is covered in more detail here m Strings Strings Mame AD TEXT 1 Name The internal name given to the object currently selected used if retrieving the object id from XAD Mosel This can contain any alpha numeric character and the underscore character It should be unique Resource A read only field containing the name and full path of the resource currently being edited Caption If the current object has a text component the window title in the case of the form then you may enter it here XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 78 m Position parent relative Position parent relative N Position 377 X Position The x position of the current object within the window or in the case of the window itself the starting x position on the screen when the window is first drawn Y Position The y position of the current object within the window or in the case of the window itself the starting y position on the screen when the window is first drawn m Geometry actual usable Geometry mj ELI Width 100 Height a Width The pixel width of the current object and the relevant size of the usable area The read only usable text is currently only releva
33. the behaviour of the model when run In the example the tab object works by picking up the tab s SELECTION event calling the relevant Mosel callback Tabs_Window_SELECTION and then setting the enabled and visible flags of the objects relevant to the currently selected tab In this case the code required to do this is reasonably simple as we have setup groups of objects which we may hide or show with one command Herein lies the power of object groups We will now look at the various sections of the example s Mosel code before looking at the associated resource in the XAD Resource Editor Finally as a tutorial we ll create a new resource containing a simple tab object and a few tab associated controls 7 1 7 The Mosel Code 7 500selectiongroups mos D Resource 500 rsc dbx XADgroupenable id group C false Xi Dgroupenable id group T false xADgroupenable id group B true end procedure procedure Tabs Window SELECTION tabsel X iDtabgettab id tab if tabsel Buttons then P Tabs window SELECTION procedure Tabs Window SELECTION orp eure re XADgGroupsetvisible lid X Dgroupsetvisible id E X Dgroupsetvisible id group text false Anything which disables should go first if members of two groups overlap whichever group goes last will take precedence X Dgroupenable id group C false XA Dgroupenable id group T false X Dgroupenable id group B true elif tabsel Canvas then X
34. to retrieve the integer pixel width of a group of objects It takes the argument groupID integer XADgroupgeth Used to retrieve the integer pixel height of a group of objects It takes the argument groupID integer XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 74 XADgroupgetx Used to retrieve the integer x position of a group of objects It takes the argument groupID integer XADgroupgety Used to retrieve the integer y position of a group of objects It takes the argument groupID integer XADgroupsetpos Used to move the group in unison The new position sent to the group defines the top left of the group bounding rectangle remembering that screen based coordinates have the top left as the origin It takes the arguments groupID integer xpos integer ypos integer XADgroupenable Used to enable or disable all members of a group It takes the arguments groupID integer enable boolean XADgroupsetvisible Used to show or hide all members of a group It takes the arguments groupID integer show boolean Additionally you may also create or destroy groups purely in Mosel code using the following procedures XADgroupcreate By creating a set of integers the XAD ids of those objects you wish to group you can group them together using this routine It returns the newly created group id It takes the argument objectIDs set of integer XADgroupaddmember Add an object to an alread
35. watches See some typical debugger output for more information 4 5 Breakpoint condition Dialog Accessible by selecting Set Remove Breakpoint condition from the Debug menu or by clicking the fv button on the Toolbar Breakpoint condition Break at this line when Identifier e g i Value e g 100 buy product 3 string value a k s EE true This dialog allows setting a conditional breakpoint Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 50 The conditional breakpoint will activate only when the condition is met 4 6 Export to matrix Dialog Accessible by selecting Export Matrix from the Build menu or by clicking the ra button on the Toolbar xport problem to matrix file Farmat l Name of linear constraint LP format minimization representing objective Function O LP format maximization 5 MPS format E Scramble names After the Mosel run completes successfully a standard matrix file MPS or LP can be exported using this dialog The objective function in the matrix file is determined by the linear constraint entity specified Consequently the objective must have been declared as a linear constraint variable in the Mosel model The column and row names can be scrambled to hide the original entity names from the model 4 7 Deploy Dialog Accessible by selecting Deploy from the Deploy menu or by clicking the C button on the Too
36. we must check for the currently selected tab and then disable enable and show hide the relevant groups for each tab As the comment in the code mentions it is important to get the order of the commands correct if you are dealing with objects in multiple groups Were the command order incorrect you may inadvertently enable and then disable an object belonging to multiple groups that you intended to be enabled Note It is recommended to first disable all the groups you need to before finally enabling the relevant group or groups as in this example m procedure Exit Window PRESSED When the Exit button is PRESSED this callback is called All it does is cleanly close the id win window so that the program closes in a user controlled and clean manner XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 82 7 1 8 The Associated Resource File The resource file associated with the example Resource_500 rsc can be found in the XAD examples directory alongside the Mosel file Once loaded in to IVE you will be presented with the XAD Resource Editor and the representation of the XAD window and objects will be visible in the Form Edit Dialog FED Grouping Demonstration Buttons Canvas Text B C T p Ho Ho eo E c B C T When initially loaded all of the objects within the tab will be visible To hide a group of objects within he editor select the group from the XAD
37. 2 real y2 real Scales the user graph The viewable area is determined by its lower left and upper right corners Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 43 CHAPTER 4 Xpress IVE Dialogs 4 1 Optimizer Dialog Xpress IVE Accessible by selecting Optimize matrix file from the Optimizer menu or by clicking the I iim im buttons on the Toolbar Optimize a em from a file Matrix filename Cancel Browse Load directives file filename gt dir solution options Load solution file flename sl Find best solution Find best solutions Algorithm Sense Optimization Analyze if infeasible Primal amp Minimize Relaxed LP GF 7 REPAIR Relax if infeasible tart Dual Maximize Perform global search MIP MIGF ite solution summary to screen Barrier NONE only load matrix E Write solution to formatted ASCII file IVE Options E 2 Network Apply optional control parameters to this run Parameters F1 For Help ACTIVESET AUTOPERTURE AUTOPERTURE BACKTRACE BALKTRACKTIE BARCRASH BAROUALSTOP BAR GAPSTOP BARINDEFLIMIT BARITERLIMIT BARORDER BAROUT PUT BARPRESOLYEOP BARPRIMALS TOP BAR SOLUTION BARS TART BARSTEPSTOP BAR THREADS BIGM BIGMMETHOD BRAN CHCHOICE BRANCHDIS BRANCHSTRUCTU BREADTHFIRST CACHESIZE The Optimizer dialog allows the optimizat
38. Mosel Optimizer interaction C Preserve model names in the Optimizer matrix C Order column names deterministically Embed Optimizer runtime logs in Mosel output C Obtain infeasibility information C Export the Mosel problem to a standard MPS or LP file Mosel preview This preview is independent of the model open in the editor Select and drag or copy paste as needed The Debugging wizard lists a set of useful debugging features and how to use them The features are all accesible from Mosel and are grouped by the target of the debugging task m Mosel m Mosel Optimizer link m Optimizer Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 69 Mosel assistant scratch pad 12 Complete models 1 Name amp Type 2 Parameters 3 Data Input 5 12 12 Complete models Wizard Assignment Bin packing Bipartite matching Blending Capital budgeting Flow shop scheduling Job shop scheduling Knapsack Line balancing Lot sizing Maximum flow Partitioning Personnel planning Portfolio optimization QP Preemptive open shop Production planning Single period product mix Symmetric TSP Timetabling Transport Vehicle routing VAP Production planning Minimum cost flow Project planning w constraints Minimum weight spanning tree Purchasing with price breaks Multi commoadity network flow Sequencing jobs on a machine 4 Variables Contract allocation 5 Ob
39. OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 88 Now hide the browser object in the editor so that we can add the Eric tab objects With Group Ernie selected click the Hide Group in Editor checkbox on the XAD Properties Dialog m For the Eric tab add the canvas and text objects in the usual drag and drop manner For the sake of keeping the Mosel example code simple in this example the canvas object will simply be blank The text object may contain any text you wish and may be entered via the Capion field of the XAD Properties Dialog In this example the objects have been given the names Eric_Canvas and Eric_Text By Control clicking the Eric_Canvas and Eric_Text objects create another group called Group Eric This group should be visible and enabled m Add the SELECTION Event Callback Now that the groups of objects are setup we should add the tab SELECTION event callback to the Mosel code so that something actually happens when the tab with focus is changed Double left clicking on the The Tab object open the Event Dialog select the SELECTION event and the Mosel file you created previously and Go to Procedure m Associate Code Referenced Objects with Resource Objects Any objects or groups created in the Resource Editor that you wish to manipulate in the Mosel code must have an associated id In this example we will reference the The Tab object and the two groups Group Eric and Group Ernie
40. Programming Witerd s cuo e komo a mw ee thd bee e os Se sow 9 3 cmm eee 5 10 1 Common Mosel programming tasks ler 5 10 2 Setting Optimizer callbacks for advanced interaction with the Optimizer 5 11 11 Debugging Wizard uu was Eum HO Wer su hok a MERE wx 5 12 12 Complete models Wizard ccr rn 6 Xpress IVE Dashboards 6 1 Xpress Kalis Scheduling Dashboard ee ee a 7 XAD resource editor 7 1 Create XAD Forms using a Drag and Drop Interface c 7 1 1 The XAD Resource Editor Form Edit Dialog 7 1 2 XAD Resource Editor Groups a a a 7 1 2 1 Groups Within XAD Mosel Code 7 1 3 XAD Resource Editor Event Dialog ccr 7 1 4 The XAD Resource Editor Drag and Drop Toolbar 7 1 5 The XAD Resource Editor Properties Dialog ls 7 1 6 XAD Resource Editor Example lens 7 1 7 The Mosel Code uunc nouos ok wee ewe th bb vede Wow Wo 90x oe cow Dat n 7 1 8 The Associated Resource File 2 rns 7 1 9 Creating a Simple Tab Example from Scratch Index 72 72 73 74 74 75 76 78 80 81 83 85 91 OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page iii CHAPTER 1 The Xpress IVE Editor The intelligent editor built into Xpress IVE offers all the features of a modern programmer s text editor plus enhan
41. Properties Dialog Group drop down list and then select the option to Hide Group in Editor This behaviour can be used to quickly shift between group selections designed for use in tab objects In this example we will hide the Buttons group and show the Canvas group m Select the group you wish to hide Grouping Demonstration Buttons Canvas Text B C T T CE Groups Current Groups ButbonsGroup wt PE Mame ButtonsGroup BCT Hide Group in Editor Save Changes g9 m Here we ve selected the Buttons group It s currently visible in the editor XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 83 m Hide the Buttons group Grouping Demonstration Buttons Canvas Text j j Groups Current Groups Buttons Group t Mame ButkonsGroup Hide Group in Editor Save Changes ao o o N i o w o 4 By selecting the Hide Group in Editor option we hide the Buttons group m Unhide the Canvas group Grouping Demonstration Buttons Canvas Text j Groups e eu N N a o w D H H Current Groups ESI Canvasaraup False Mame Visible T li Disabled Hide Group in Editor Save Changes Delete By selecting the Canvas group in the drop down list and unselecting the Hide Group in Editor option the Canvas group becomes visible in the editor The events f
42. To associate an integer id with these objects use the two XAD Mosel functions XADgetid and XADgroupgetid both of which take the string name of the object or group and the id of the XAD window it is associated with id win in this case m Add the Tab Selection Handling Code When either of the two tabs is selected we want to show and enable the objects associated with it and hide and disable those objects not associated with it Within the The Tab Main Window SELECTION procedure use the XAD Mosel function XADtabgettab id tab to retrieve the string name of the currently selected tab Compare this name to the two tab names Eric or Ernie and enable show or disable hide the two groups as appropriate using XADgroupsetvisible and XADgroupenable This should result in the following resource and Mosel code Tutorial Window Eric Ernie XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 89 model MaodelName uses mmxad declarations id win integer id tab integer id group eric integer id group ernie integer end declarations id win X Dloadresource Tutorial rasc id tab X Dgetid The Tab id win id group eric X Dgroupgetidi Goroup Eric id win id group ernie abgroupgetid Group Ernie id win z Dwindowopen id win exitii procedure Exit Main Window PRESSED zh Dwindowclose id win end procedure procedure The Tab Main Wi
43. ar during a Mosel run The problem reading phase and statistics marked with a dark green margin The LP relaxation phase Simplex or Barrier marked with a light blue margin The global search phase if applicable marked with an orange margin p du ue Xd The nonzero values in the solution vector if a solution exists does not appear during a Mosel run These values are printed on alternating background colors to improve readability There is no relationship between the background color and the value shown 7 To learn how to control the amount and frequency of textual output from the Optimizer please refer to the Xpress Optimizer reference manual or the 7 Results amp tuning wizard Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 26 3 7 3 Debugger output in the Output Input tab of the Run Bar LINE 20 harp2 mos forall c 19L9A022 in AGLSA012 AGLSA022 AGLS 4 INE 20 harp2 mos forall c 19L9A032 in AGLSA012 AGLSA022 AGLS INE 20 harp2 mos forall c 19L9A042 in AGLSA012 AGLSA022 AGLS INE 20 harp2 mos forall c 19L9A051 in AGLSA012 AGLSA022 AGLS INE 27 harp2 mos R array 113 BIRO sum c in BIROA011 BIROA INE 28 harp2 mos R array 113 BIR9 sum c in BIR9A011 BIR9A INE 29 harp2 mos R array 113 BROO sum c in BROOA011 BROOA INE 30 harp2 mos R array lt 113 gt BRO9 sum c in BRO9A012 BRO9A
44. arch log entry Pause at every log entry during the global search for integer Xpress IVE Dialogs solutions The frequency with which log entries are generated during the global search is controlled by the mmxprs parameter XPRS MIPLOG OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 48 4 3 4 Matrix Visualization Show original matrix After a problem is loaded in the Optimizer its matrix can be examined Select this option to make a copy of the matrix and visualize It Show presolved matrix After a problem is presolved by the Optimizer the matrix will most likely have changed Select this option to examine the presolved matrix 4 3 5 Stochastic models if available Pause to prune scenario tree manually When developing a stochastic model use this option to pause the Mosel run just before solving the stochastic problem When the model is paused scenarios can be aggregated or deleted in the scenario tree 4 3 6 Constraint programming models if available Draw CP search tree Draw the CP search tree Store all domains for up to nnnn nodes Maintains detailed variable domain information for the first nnnn nodes 4 3 7 Use Model parameters If the Mosel model has declared one or more parameters they can be overriden Select this option and then specify the parameter values to be used during the execution Any number of parameters may be omitted only those specified will modify the default para
45. arley Way Birmingham B37 7GN UK Product Support Email Support fico com Please include Xpress in the subject line Telephone NORTH AMERICA Tel toll free 1 877 4FI SUPP Fax 1 402 496 2224 EUROPE MIDDLE EAST AFRICA Tel 44 0 870 420 3777 UK toll free 0800 0152 153 South Africa toll free 0800 996 153 Fax 44 0 870 420 3778 ASIA PACIFIC LATIN AMERICA CARIBBEAN Tel 1 415 446 6185 Brazil toll free 0800 891 6146 For the latest news and Xpress software and documentation updates please visit the Xpress website at http www fico com xpress or subscribe to our mailing list Contents 1 The Xpress IVE Editor 1 2 Xpress IVE Menus 3 2 1 The File menu 26522463 XEG amp 3435S99 xxEG9xExGe e5eee 4 gms 3 2 2 The Project menu T 4 Z 23 TiS EON a EE eee ae OS ROX DOCS ww E m y ee eS 4 2 4 The View menu 2 2 cua ox xo mox xchOEOR Re ee eRe Ree a 5 25 ING BUNGE Men sasse sirek 33x4xE RR ee ROX mo ECR OXDGRO needed boa amp Ges 6 2 6 The Debug menu xxx kom x komo m Rok eee eee PURSE Rok Ode ede 6 2 7 The Deploy menu uus x uox o xoxo mae Kx ee CE X ko So ow Xo 4X 3 3 X 9 CESSES ws 7 2 8 The Modules MENU ccc eee ee eee Oe RE Bee wR eK GS 7 2 9 The Wizards menu lt ss idee bee eee ee bh hut dee ad a 8 2 10 The Window menu 2 2 ee 8 2 11 The Optimizer menu uuu oce c enw eee eee He CREE TORO ERE 8 9 ox 9 os 9 2 12 The Help menu 252 xxu ex Be 4 erem ew a 9
46. aused highlight nodes branching on 3 7 The Output Input tab of the Run Bar Here are the LP results Objective value is 1333 33 Make 0 small sets and 66 6667 large sets Here are the IP results Objective value is 1330 Make 2 small sets and 66 large sets nr ha E eree O BB tree User graph IIS All write and writeln statements in Mosel produce character output that can be viewed in this window Output from the Xpress Optimizer can also be shown by setting the boolean mmxprs parameter XPRS_VERBOSE Notes m Toscroll the Output window using the keyboard click once on the window to obtain the Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 24 keyboard focus m Text can be selected and copied directly from the Output window m Toclear the contents of the Output window click on the Clear button 3 7 1 User input in the Output Input tab of the Run Bar L Cea What is your name Bn Hello Steve LEE 4 n p Output Input User graph I5 When the user is required to input text during a Mosel run when the read or readln statements are executed the text can typed in the edit box marked Type here This edit box is disabled except when expecting user input Notes m To send the typed text to Mosel press Enter m After text has been input the left margin of the corresponding line from the Output window will be hig
47. ay be dragged and dropped from the toolbar Button e Radio Checkbox Input Le d Canvas Browser x Group Marker Progress aje r1 Scrollbar Vertical Tabs A yi Editor g g a Tree XAD resource editor Scrollbar Horizontal The standard Windows button control The standard Windows radio button control Note that grouping of multiple radio button objects does not cause them to act in a mutually exclusive manner This must be done programmatically from within XAD Mosel The standard Windows checkbox control The standard Windows text input control A canvas object used for drawing on from within XAD Mosel An internet browser window Set the initial page for the browser using the URL field in the properties dialog The standard Windows group identifier box Note that this has nothing to do with XAD Editor groups The standard Windows progress display The standard Windows horizontal scrollbar control The standard Windows vertical scrollbar control The standard Windows tabbing control Multiple tabs may be added by separating the tab names with commas in the Caption field of the XAD properties dialog To create groups of controls related to different tabs within the tab object create multiple groups and then assign a SELECTION event to the object Within the SELECTION event in the XAD Mosel code you are then able to hide and disable or show and enable the
48. be resized through the usual Windows methods of selecting an edge or vertex and left click dragging or through an entry in the geometry input controls of the XAD Properties Dialog In a similarly Windows fashion the form may be moved around the central XAD editor pane by click dragging on the form s title bar Should you wish to move the top of the form beyond the top of the editor pane then you may do so via the form positioning control at the base of the XAD Properties Dialog The latter method may also be useful if you are editing on a small screen or with a particularly large form Note To reposition the starting position of the form on the screen when first displayed via XAD Mosel you will need to alter the Position input control of the XAD Properties Dialog Moving the form within the editor is simply for editing and has no runtime effect Once an object is placed on the FED and the properties altered you may wish to add events for the object to a Mosel model file or create groupings that may be manipulated as one object within your Mosel code m Adding Events Event callbacks may be added to a current or new Mosel file by double left clicking on the object you wish to add the event for This will open up the Events Dialog where you may add or navigate to event callbacks within the Mosel code of the specified model See the Event Dialog page for further details Note In order to add an event callback to a file the file must be a valid
49. bjective MIP search BB tree Output Input Solutions Objective The graph at the top shows the evolution in time of the number of unconverged variables during the SLP run A sample is taken at each SLP iteration The graph at the bottom shows the progress of the current best objective A sample is taken at each SLP iteration m The graphs can be zoomed in and out and each curve can be shown or hidden using the checkboxes in the graph legend Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 41 3 14 The User graph tab of the Run Bar User graph n Click for araph history Output Input Stats Matrix Solutions Objective MIP search BBtree User graph Is This window offers the opportunity to plot points on an unlimited two dimensional grid when using the mmive Mosel library The graph is automatically scaled to include all and only the plotted points There is no limit on the number of items that can be plotted The mmive module in Mosel contains these functions and procedures procedure IVEpause message string Pauses the Mosel execution at the line where it was called It also prints a message at the top of the Run Bar that may inform the user of the reason for pausing While the execution is paused model entities can be examined in the entity tree or the user graph may be inspected in slow motion function IVE RGB red integer green inte
50. ce that we can exit using the button and event we ve created Tutorial Window model ModelHNHarme uses mmxad declarations id win integer end declarations id win X Dloadresource Tutorial rsc z iDwindowopeniid win exit pm procedure Exit Main Window PRESSED ziDwindowclose id win end procedure end maocdel Finally we ll add the tab object with a couple of XAD objects associated with each tab XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 87 m Add the Tab Object In the same manner in which you added the button previously add a tab object to the form Again in the same manner as the button give it the name The_Tab and position it towards the top left of the form Now in the same manner as you resized the form object at the start of the tutorial resize the tab object to fill the form to the right of the Exit button m Create Multiple Tabs Instead of having a single caption or title the tab object has tab captions to the top of each tab These are added in the same manner as the caption added to the Exit button but with the tab captions delimited by the comma character In the XAD Properties Dialog enter Eric Ernie in the Caption field This creates two tabs on the tab object A maximum of three tabs will be visible on the FED although you may enter as many comma separated tab caption entries as you wish in the Caption field The resource editor s
51. cements designed to simplify working with Mosel models or LP and MPS files m The editor supports Mosel language syntax highlighting m Two types of highlighting denote 1 Mosel language keywords 2 Identifier names defined in Mosel extension modules dso s m Mouse over information on most identifiers in a model One position per job forall j in JOBS OnePositionPerJobi ij sum k in JOBS rankij E 1 EL Sequence of jobs forallitkK in 1 NJ 1 Sequence KE start EK 1 start k sum j in JOBS DUR Q rank k Start times forall k in JOBS StartTimes k start k sumi in JOBS REL j rankij E Completion tames foralltk in JOBS CompletionTimes EK comp k start k sum j in JOBS DUR I ran forallij k in JOBS at is binary Objective function 1 min foralli k in JOBS Completis tinimize finish rank has 2 dimensions and a total of 49 decision variable s print soclpi rank 1 1 Solution 0 Reduced cost Solution 0 Reduced cost Solution 0 Reduced cost P eee cm rr eh Solution D Reduced cost minimize sum k in JOBS com Solution 1 Reduced cost print sal z Solution 0 Reduced cost Solution 0 Reduced cost f 2 one ankiz 1 Solution 0 Reduced cost AA ar E xr ue rank 2 2 Solution 0 Reduced cast forall k in JOBS Tardiness nr 3 Solution 0 Reduced cost minimizeisumik in JOBS lat print sal 3 e ccOog oOoooo
52. ct options and watch how the Mosel source code is updated for the current task Interacting with the wizards is the only way to assess the practicality of using a wizard for a task Selecting options in the wizards is entirely harmless and reversible No changes are made to your main Mosel model without explicit approval e g pressing the nsert at cursor button which adds the wizard generated code to the Mosel model opened in the editor Select a wizard below for more information m 1 Name amp Type Wizard OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 57 2 Parameters 3 Data Input 4 Variables 5 Objective 6 Constraints 7 Results amp tuning 8 Text Dutput S Graphing 10 Programming etc Mosel assistant scratch pad 1 Name amp Type Model name ModelName no blanks Type of model LP pure linear programming MIP integer or mixed integer programming QP quadratic programming MIGP mixed integer quadratic programming SLP nonlinear programming using sequential linear programming SP stochastic programming EP constraint programming 11 Debugging Ne mathematical programming features 12 Complete models P Use graphing and drawing facilities in IVE Use ODBC connections for data input output from databases or spreadsheets Require statement termination with Require all symbols to be declared before use Mosel preview This preview is independen
53. cts in IVE are a collection of files which can be any type not just Mosel or XAD resource files along with the options specified in the Run Options dialog One can classify the files in a Project into a hierarchy of folders not be confused with file system directories Thus you might wish to arrange files in a Project according to purpose for example m sub models in one folder and the main models that use them in another or at the top level m a folder for each file type as is the default behaviour for projects in Microsoft Visual Studio m folder layout to mirror the hierarchy of files on disk Files in a project will be stored as either absolute or relative paths If a file in a project is in same directory as the project itself or one of its subdirectories its path will be stored relative to the project file s directory A file from outside this directory hierarchy will be stored as an absolute path In the example image above the files parent mos and child mos are stored in the same directory as the project whereas the file els mos is in an unrelated directory and so is stored as an absolute path Files with absolute paths have the amp stylised colon backslash symbol overlaid on their icons in the project tree 3 3 1 Operations on Projects There are a number of actions one can perform with a Project Many of these are started by bringing up a context menu typically by right clicking the mouse on an item in the project t
54. d Oplireser manlima loge ri Mesa output C3 brain injeasibdily indowmalions E Espaorn the Kozel problem bo a slandasd MPS oi LP tile Mosel preview Inve al cuteot This preview is ol the model inthe editor Select and diag a m 12 Complete models Wizard stant scri ich pad Flow thop sebeiduimg Job shop scheduling Knapseck Ling Let sizireg i i Vehicle routing WAF Maaria Hore i Minimum vweeght spanning ires Description A pet of projects is assigned to persons with the nbiecliwe bo mecunize the overall catsheclion A pielesnce rating pec person and project i omer In this madel Fomalations the solution bo the LP problem is integer Ihers k nro reed bo deti the decision variables esplicil as binaries inthe editor Select and diag ac a needed 4 lft tet bret tether tet ee eet eee a E a E Hosil Example Problems Assignment problem 1 simple LF problem graphical representation of resulta A sec of projects ia assigned ro persons with the objective to maximize the overall sacisfaccion preference rating per person and project is given Tm Xpress IVE Wizards Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 61 5 1 1 Name amp Type Wizard Mosel assistant 1 Name amp Type Model name ModelName no blanks 2 Parameters Type of model LP pure linear programming 3 Data Input MIP integer or mixed integer programming 4 Va
55. ed to permanent groups by pressing the Promote Selection to Group button on the XAD Properties Dialog Permanent Resource Groups PRG permanent group associations of objects These can be manipulated within XAD Mosel code hidden or disabled as a group and allow individual objects to belong to multiple groups see the 500selectiongroups mos example discussed in the tutorial This type of group is stored in the resource file itself and may be loaded in to XAD Mosel code to be associated with a particular group id see example Groups of objects may be moved by selecting any member object and click dragging it in the same manner in which you would reposition an individual object on the Form Editor Dialog FED Any selected group of objects will have a bounding box visible in the image at the top of the page to display the extremities of the group Within the FED this denotes the limits of movement of the group Any attempt to click and drag the group s bounding box beyond the edges of the FED will result in no further movement beyond the FED edge Any PRG may be selected updated or deleted using the Groups control section of the XAD Properties Dialog 7 1 2 1 Groups Within XAD Mosel Code Within XAD Mosel you may manipulate and use groups using the following routines XADgroupgetid Used to retrieve the integer id of a group loaded via a resource file It takes the arguments groupName string XADWindowID integer XADgroupgetw Used
56. en Close S Save Save As Save As HTML Print Create a new file Create a new resource file Open an existing file in the editor Close the file currently shown in the editor Save the file currently shown in the editor Save the file currently shown in the editor under a different name Save the current file in HTML format preserving formatting and colors Example The HTML code can be copied to Microsoft Word or other rich text format editor for inclusion in documentation papers etc Print the current file Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 3 Print Setup Send by Email Recently used files Exit 2 2 The Project menu Open Close Save Save As New Open Close Save Save AS 2 3 The Edit menu 3 Undo fa Find Replace a0 To Line A Erase Bookmarks Select All gt Undo e Redo Gy Cut fp Copy Xpress IVE Menus Change printer settings Send the current file by email if a registered MAPI handler exists Open one of the ten most recently used files Quit Xpress IVE Create a new Project Open an existing Project Close the currently open Project Save the currently open Project and any modified files contained within it Save the currently open Project under a different name and any modified files contained within it Note that if you save the project file to a different director
57. ent callback to the file then the code part of the callback would contain the default Not yet implemented Mosel text output 7 1 9 Creating a Simple Tab Example from Scratch In this section we will use the Resource Editor to create a simple tabbing application for XAD from scratch using the drag and drop features of the editor to layout the form and the Event Dialog to add in a few simple events Firstly create a new resource by selecting the New Resource option on the File menu This will create a blank form in the FED of the default size 500x500 Now we ll alter the form to the desired size and set its various attributes m Resize By clicking and dragging on any side or vertex of the form or by entering the size in the Properties Dialog resize the form to around 600x400 It s recommended that if you want a very specific size you set this via the Properties Dialog otherwise using the mouse to resize can be quicker and easier m Setup Strings Next you will need to enter a name for the form XAD window object You may stick with the default XAD WINDOW NUMBER if you wish but you may find it easier to maintain your Mosel program if you give it a more unique name For this example you could enter Main_Window XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 85 Enter a caption for the window the title which appears in the form s top bar via the Properties Dialog For this example yo
58. erate functions to define the new type If the box is not checked the generated program will assume that the type is declared elsewhere e g in another module In either case the newly added type will be available to use in subroutine and operator declarations m Add some control parameters Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 55 Module name Version Module Contents persistent across runs of IVE V Constants V Functions amp Procedures Add Control gt Note Control parameters can be used to store retrieve module state information m Atany time clicking on View code will show the Source code dialog with the code generated for the current contents of the module m When satisfied with the contents of the module save the code that is produced and fill in the functionality 4 11 Source code Dialog Shown after completing the steps required by the Deploy or the New Module Wizard dialogs Compile and run Mosel model from Java Sample use javac classpath XPHESSDIRBZMiIb prm jar Hunt odel java java classpath 4PRESSEIR ibsprm jar Hunbdodel Java code generated by the Xpress IVE deployment wizard import java io import com dashoptimization public class RunModel 1 public static void main String args i int result try result runMoselModel SyYSstem out printin Model execution
59. fficient or a region where all coefficients are negative Blue A positive coefficient or a region where all coefficients are positive Purple A region where some coefficients are positive and some coefficients are negative The shade of purple indicates the predominance of either m Inthe magnified 12 x 10 region the names of the rows constraints and columns variables are shown to enable the actual names used in the Mosel model set the mmxprs boolean parameter XPRS LOADNAMES to true At the top following a comma after each column number is the type of variable Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 32 C indicates a continuous variable indicates an integer variables B indicates a binary variable S indicates a semi continuous variable R indicates a semi continuous integer variable P indicates a partial integer variable On the right hand side the type of constraint is shown Note that lt and gt are used instead of the actual lt or gt to improve readability In the case of a non binding constraint the character is shown 3 9 5 The Scaling View 3 10 Xpress IVE Toolbars Sketch Column view Row view Graphical original Graphical presolved Scaling Include Matrix coefficients Right hand sides Ojective coefficients Bounds Original Presolved Minimum 5e 006 Maximum 1e 020 Number of coefficient
60. ger blue integer integer Compute a composite color by combining amounts of red green and blue function IVEaddplot name string color integer integer Inserts a new plot on the user graph A plot is indentified by its name and can be shown or hidden using its corresponding legend checkbox The maximum number of distinct plots is currently limited to 20 However each plot can contain an unlimited number of points lines arrows and labels In the graph above both first fractal and second fractal are plots They can be shown hidden using the checkboxes in the legend procedure IVEdrawarrow handle integer xl real yl real x2 real y2 real Add an arrow to an existing plot The arrow connects the two points whose coordinates are given as parameters pointing to the second one procedure IVEdrawlabel handle integer x real y real text string Adda text box to an existing plot The box will be centered horizontally just above the point given procedure IVEdrawline handle integer xl real yl real x2 real y2 real Add a line to an existing plot The line connects the two points whose coordinates are given as parameters procedure IVEdrawpoint handle integer x real y real Add a small square to mark a point at the given coordinates Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 42 procedure IVEerase Remove all plots and reset the user graph procedure IVEzoom xl real yl real x
61. get id and XADgroupgetid we may retrieve the ids for objects and groups respectively m Display the window This function opens the specified XAD window and displays all the associated objects In order to only display enable those objects relevant for the initially displayed tab we will need to setup the object states when the window opens This is achieved via a WINDOW OPENED event callback m procedure Window WINDOW OPENED In this callback we need to setup the various states of the objects groups belonging to each tab selection There are six groups within the example 3 relating directly to those objects displayed on each tab and 3 relating to the buttons on the right hand side of the example The right hand side buttons demonstrate that when the Button Canvas or Text tabs are selected the relevant buttons are enabled or disabled These differ from the groups setup for the objects in the tab control as each button may belong to more than one group Group B C or T depending on which tab selections they will be enabled for We intially have the Button tab selected and so within this callback we enable the id group button and id group B groups and disable the others Note there are no events associated with the buttons in this example and so they will not actually perform any action if clicked m procedure Tabs Window SELECTION This callback is in essence very similar to the WINDOW OPENED callback above The difference being that
62. h tab of the Run Bar c rrr sns 41 3 14 The User graph tab of the Run Bar leeren 42 4 Xpress IVE Dialogs 44 4 1 Optimizer Dialog aa a ek me x46 ox 33 9 X4 OS do ee ee eo Oe x OE a 44 4 1 1 Load directives file 4425466554 844546 6 4 XE ww wR Xe 33 4o OS 45 4 1 2 Load solution file i424 eee Rew E E E SER EERE He 45 Mole cogi A ere hee ee Pee ee eee hee ee e eee ee 45 4 1 4 Sense nee eee he eh eee eee eth eas ene ee be eee eee has 45 amp 15 OOM SUON uoo eee eh bee eee whee X bbe EROR eee ee ee 44 45 4 1 6 Solution options 6240444466 bo 09 ee ESR EERE Em ee De 45 4 1 7 Strategies control parameter settings 2 00 2 eee eee es 46 4 2 View text Dialog ox wee ak OR GE SEO Oh ew ee RK gm p Aw 46 43 Run options Dialog cunseed b wed oe PER EOD ERS EE DEE OEE DS 47 4 3 1 Draw progress graphs 2 0 0 ee es 48 4 3 2 Branch and bound tree 000 ee 48 ee FOS ake eke teehee eae PRR eee ee dus eee eee ee M RR ee es 48 4 3 4 Matrix Visualization sux ce eee we ER eee ee SR ee 49 4 3 95 Stochastic models as ss ssa heen ew kike deca eee bey abe ve oes 49 4 3 6 Constraint programming models a 49 4 3 7 Use Model parameters a 49 4 3 8 Default PROJECTDIR uuo 344684 4 6b wo bd ko 30m Rw ee Oe 49 4 3 9 ParamBefer 224 EEK ew m9 c OX Ro ee Se ELTE EE ee e oe ee 49 44 Debug options Dialog eere err 49 4 44 1 Breakpo
63. h the Exit button selected its attributes will be visible in the XAD Properties Dialog double left click on the button to open the Event Dialog Select the PRESSED event as we want this callback function to be called when the button is pressed and make sure Create a new file is selected as the Mosel file to add the event to Now click Go to Procedure and enter a location and name for your new Mosel file For this example we ll call the new Mosel file Tutorial mos You should now see the newly created Mosel file with the Exit Main Window PRESSED procedure inserted As we want the procedure to close the window replace the default code with XADwindowclose id_win as in the original example above In this instance as we ve created a new Mosel file the code to load the resource and assign this particular resource to the id id win isn t yet present Had we added this to an already existent Mosel file then we would of course close the window of whatever XAD id had been associated with the resource To create a functioning application we now need to add in a little connecting code to load this particular resource file and open the associated window m Enable XAD Code Usage As we ll be using the XAD Mosel module we ll need to add the line uses mmxad to the Mosel code m Declare the Window ID Within the declarations section of the Mosel code you will need to declare the id of the XAD window we will associate with the resource In this
64. he editor the Run Bar will be hidden almost completely When the mouse re enters the Run Bar it expands to its previous dimensions Below are snapshots of the different tabs panes 3 6 1 Output Input Mosel output Here are the LP results Objective value is 1333 33 Make 0 small sets and 66 6667 large sets Here are the IP results Objective value is 1330 Make 2 small sets and 66 large sets Type here Output Input Stats Matrix Solutions Objective MIP search BB tree User graph Profiler output Console style user input What is your name MM steve E Hello Steve gt LU 4 n ul Type here Output Input User graph IS Output Input FFF FFT T FTF TTF FETT ETS EFF EFT FEF FETS FESS ETS FESS BES FEF LE EJ Profiling results LI HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH Line File name Total time Executed FFF FFT TTT FETT TTT FETS ETT FETT FEF FETS FESS ESS FESS EES FEF LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE 77 mincostflow mos 72 mnincostflow mos 94 mincostflow mos 95 mincostflow mos 89 mincostflow mos 99 mincostflow mos 91 mincostflow mos 98 mincostflow mos 100 mincostflow mos 59 mincostflow mos 64 mincostflow mos 65 mincostflow mos 103 mincostflow mos 34 mincostflow mos 36 mincostflow mos 37 mincostflow mos 38 minco
65. hlighted in blue m Call the Mosel procedure 1ush to display all remaining text before asking for input Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 25 3 7 2 The Optimizer Output tab of the Run Bar Output Input q Reading Problem xprs_17a8_5a9da20 Problem Statistics m 112 0 spare rows 2993 0 spare structural col 5840 0 spare non zero eleme Global Statistics 2993 entities 0 sets Minimizing MILP Axprs 17a8 5a9da20 Original problem has 112 rows 2993 cols 5 Presolved problem has 92 rows 1025 cols 2 LP relaxation tightened Its Obj Value S Ninf Nne 0 1088468011 D 72 100 113378833 7 D 54 200 81184011 79 D 20 300 74358397 70 D 6 321 T1 25169 35 D 0 Optimal solution found Starting root cutting amp heuristics 4 ERE B T S p Output Input Stats Matrix Solutions Objective MIP search BB tree User graph Im IS i During a standalone Optimizer run using the Optimizer dialog or in the solving stage during a Mosel run if the mmxprs parameter XPRS VERBOSE was set to true a textual Optimizer progress report will be produced in the Output window A typical output sequence from the Optimizer contains 1 A short version and copyright message from the Optimizer marked with a blue margin does not appear during a Mosel run 2 Information on any control parameter settings written in magenta does not appe
66. hould now appear similar to the following Tutorial Eric Ernie m Add Objects for Each Tab On each tab we want different objects to appear In this example we will create canvas and text objects on the Eric tab and a web browser on the Ernie tab m In the same manner as the other drag and dropped objects add a browser object to the form and reposition resize it to sit over the tab object You will need to drop the browser on a section of the form itself m Next set a name for the browser Browser in this example and set the URL field to the web page you wish it to open on when clicked www fico com in this example m All objects associated with a tab should be grouped together For the Ernie tab the group consists of the single browser object Browser Whilst holding down the Control key left click on the browser object This creates a selection group To make this a permanent group for use in XAD Mosel code you now need to promote this to a group using the Promote Selection To Group button of the XAD Properties Dialog This creates a group called Group 1 Rename this newly created group to something more unique such as Group Ernie and set the Visibility to False and Disabled to True as initially the Eric tab will be visible Click Save Changes to save the group updates All of the commands to rename and update groups are to be done via the Groups section of the XAD Properties Dialog XAD resource editor
67. ints 2er lcs 50 4 4 2 When debugger stops ee 50 4 5 Breakpoint condition Dialog a cee ee ee 50 46 Export io matrix DIBlOg aux X 5X Eo DOE GE x XX X 3 0X Rok w ee eee x9 dens 51 4 7 Deploy Dialog ud c2ct bese xw xk kom XO A0 4 k C E E bee ko o ade EE ws 51 4 8 Self Executing Model Dialog leen 52 49 List Modules Dialog 2 csl eere 53 4 10 New Module Wizard Dialog clle 54 4 11 Source code Dialog rele eer nnns 56 5 Xpress IVE Wizards 57 5 1 1 Name amp Type Wizard aana xoxo EX HE GG muro 4 EUR ESX EORR Wee OX OR ede 62 5 2 A Parameters Wizard uem mo cee ed beeet Xx 5 XOB SUE wee eee eee ee eS 62 5 3 s DataInput Wizard 42 24 24 RREEREESEGREGRGXGdUeSge 3G2 9 993 63 54 4 VariablesWizard 22 creer rss 64 5 5 5 Objective Wizard 1 lee eee eese ss 64 56 B Constraints Wiza cuu uoo wow REGE RR OE in cba EURO Sek GE eX RO ku 65 5 7 7 Results amp tuning Wizard a a 66 Contents OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page ii Contents 5 7 1 Optimizer control parameters 2 2 00 2 ee 5 7 2 Setting directives on global entities 5 8 8 Text Output Wizard uu boues won m wow dodo 43 X OWOROR OX XECRCECGEOCE E bee Sos 5 9 9 Graphing Wizard uus uos Rho mom wee oro momo om m ew REOR ee we Se OE eee 5 10 10
68. ion of a matrix file MPS or LP format After the various settings have been set the Start button will proceed with the optimization Up to five different strategies may be checked IVE will run the strategies successively and display the progress log in the Output window To compare the relative performance of different control parameter settings visually look at the histories of the MIP search graphs Options Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 44 4 1 1 Load directives file Perform the branch and bound search according to an Optimizer directives file Please check the Optimizer reference manual for more information on directives and how to set them 4 1 2 Load solution file Loads an slx solution file prior to solving an MIP problem Please check the Optimizer reference manual for more information on slx solution files 4 1 3 Algorithm Primal Dual Barrier Network 4 1 4 Sense Simplex primal Simplex dual Newton barrier interior point Network Note that this setting will override the sense specified in the LP file Make sure the correct sense is selected Minimize Maximize 4 1 5 Optimization Relaxed Perform global search NONE only load matrix 4 1 6 Solution options Find best solution Find N best solutions Analyze if infeasible REPAIR Relax if infeasible Minimize the objective function Maximize the objective function Find a relaxed sol
69. j ranki j k Start times foralltk in JOBS StartTimes k starti k sumij in JOBS RELi j rankij k Completion times foralli k in JOBS CompletionTimes k compik startiE sum j in JOBS DURi Jj ran forall j k in JOBS rank j k is binary Start i forallik in JOBS CompletionTimes k finish comp iE minimize finish print sol i bjectire function 2 minimize average completion time minimizersumik in JOBS compi ik print saoli z bjectire function 3 minimize total tardiness forallik in JOBS Tardiness k late k compik sum j in JOBS DUE j rankij k minimize sum k in JOBS latei k l Mun k print sol 3 m Editor settings are available by right clicking in the editor window and selecting Properties The Xpress IVE Editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 2 CHAPTER 2 Xpress IVE Menus 2 1 The File menu Xpress IVE Lj Mew F Mew Resource pen Close 5ave Save As Save 4s HTML Print Print Setup Send by Email 1 catenary mos 2 coco mas 3 C xpressmps 4 Cxpressmps 5 C xpressmps 6 C xpressmps 7 C xpressmps 8 C xpressmps 9 C xpressmps Ctrl M Ctrl O Ctrl 5 Aprime mos Aburglarl mos Achess mos Ad2ship mos Axad O05qgui mos Polygonl mos Acontract mos 10 C xpressmp binpacking mos Exit j New New Resource EA Op
70. jective Covering 6 Constraints Cutting stock 7 Results amp tuning Facility location 8 Text Output i S Graphing Type Assignment DURS etc Features simple LP problem graphical representation of results Debugging 12 Complete models Description 4 set of projects is assigned to persons with the objective to maximize the overall satisfaction amp preference rating per person and project is given In this model formulation the solution to the LP problem is integer there is no need to define the decision variables explicitly as binaries Mosel preview Difficulty ei 02 3 O4 65 Open model in editor View Moselfile Data file This preview is independent of the model open in the editor Select and drag or copy paste as needed ede de de de de de de de e de de de de de he je je Fe de e de de de de de he Fe Fe he he e Fe de de de de je Fe Fe he de de de de de de de Fe je he he Fe de de de dede jejeje ie Fe Fe e Je Je Te He Mosel Example Problems file assignment mos Assignment problem DIFFICULTY 1 FEATURES simple LP problem graphical representation of results DESCRIPTION A set of projects is assigned to persons with the objective to maximize the overall satisfaction A preference rating per person and project is given n 32 complete Mosel models are made available in this version The models range from simple ones difficulty 1 to fairly complex difficulty 5 Select a model type by clicking in the
71. ked as well m The graphs can be zoomed in and out and each curve can be shown or hidden using the checkboxes in the graph legend m Use the slider bar to change the vertical size of either graph m Pressing the button Accept current best solution and continue will terminate the MIP search but the execution of the Mosel model will continue This behavior is unlike that of the Stop button which stops the entire model m Xpress IVE maintains a history of the last ten graphs produced Select the desired graph from the list at the top Note that the graph history cannot be accessed during an optimization Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 35 3 12 The BB tree tab of the Run Bar BB tree v TIT ETT 7077777000 2 2 7 0 0717 1 7 7 1 n When paused highlight nodes branching on 23 iow Output Input Stats Matrix Solutions Objective MIP search BB tree IIS The Branch and Bound tree is a representation of the search for an integer solution when optimizing MIP problems To enable disable drawing the BB tree use the Run Options dialog Notes m The tree is displayed for Mosel as well as Optimizer runs and it is updated continuously during the MIP search to enable the names used in the Mosel model to appear in the tree set the mmxprs boolean parameter XPRS LOADNAMES to true m White nodes are either still active or in tree m Red nodes are infeasible
72. l c le in e Tem XX sc F soot t Tab ay sarr This toolbar contains the various controls which may be dragged and dropped on to the Form Edit Dialog FED as well as any general options specific to the editor The following controls may be selected for easier positioning and resizing of objects within the FED Snap to Grid When repositioning objects with the mouse the object s 0 0 point or top left will position on the FED grid lines The grid lines are spaced 10 pixels apart in both the vertical and horizontal axes XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 76 Resize to Grid When resizing objects with the mouse the object s edges in the direction of resize will adhere to the FED grid lines The grid lines are spaced 10 pixels apart in both the vertical and horizontal axes To add a control simply left click on the desired object icon in the left toolbar and keeping the left button depressed move the object over the FED Once the mouse cursor moves over a valid drop point the cursor will change from a circular forbidden symbol and you may release the mouse button This creates the representation of the object at the drop point and you may then move or resize the control by left clicking and dragging within the centre or the edges of the control respectively This behaviour is much the same as standard Windows window behaviour The following controls m
73. lbar If you wish to build a model as an executable file see the Self Executing Model Dialog Deployment The candidate file for deployment ts C jpbs papers mos How would vau like to use this Mosel model in your application Save BiM file Hun Mosel model fram Optimize matris File from c E 3 All names stripped Di Java Java Save BIM file 5 Visual Basic Visual Basic 2 VB NET VB MET CH CH To directly create a Windows executable that runs a BiM file please use the Self Executing Model dialog from the Deploy menu This dialog is the first step in deploying a mosel model or a matrix file in a user application written in C C Java or VB After selecting how the current file will be deployed click on Next gt to preview and save the generated code Choices Xpress IVE Dialogs Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 51 Save BIM file with debug information The BIM file will contain all original strings plus debug information Save BIM file all names stripped Secure the BIM file by removing human readable identifier names Run Mosel model from C Only available when a mos file is open in the editor Produces a simple C program Run Mosel model from Java Only available when a mos file is open in the editor Produces a simple Java program Run Mosel model from Visual Basic Only available when a mos file is open in the editor Produces a simple VB program Run M
74. list to obtain more information on the problem it adresses and the Mosel features it employs to solve the problem Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 70 CHAPTER 6 Xpress IVE Dashboards 6 1 Xpress Kalis Scheduling Dashboard Xpress IVE Scheduling elements Resources cpresource 8 Tasks cptask 46 Makespan 104 Nodes 432 Solutions 4 Gantt chart aspect Time unit length Resource height w 4 Show precedences v V Pop up descriptions Position name near task Gantt chart behavior z Update when solution found Update after every node Pause when solution found Pause after every node Xpress Kalis Scheduling Dashboard excavator pile driver other carpentry concrete mixer 5 E nr 0 10 20 30 40 50 60 70 80 90 100104 B2 B3 B4 B5 B6 AB1 AB2 OCopyright 1983 2014 Fair Isaac Corporation All rights reserved Dashboards are special dialogs in Xpress IVE that monitor the progress and performance of various extensions of the Xpress suite he Xpress Kalis Scheduling Dashboard is displayed after model execution for models that use the Xpress Kalis solver Mosel module kalis and contain objects of types cptask and cpresource The upper part of the dashboard displays a resource usage chart The lower half contains a Gantt chart of the scheduled tasks Arrows between tasks indicate precedence c
75. loaded This facilitates keeping files together with their relevant settings 3 3 8 The PROJECTDIR parameter If a Project is laoded when a model is run then a Mosel parameter named PROJECTDIR is set to the full path of directory in which the poject file is located This value can be accessed in the usual way via a Mosel parameters end parameters block This value can be seen in the Run options dialog If the users sets a Mosel parameter PROJECTDIR via the Run options dialog this will override the Project supplied version 3 4 Info Bar Can be shown hidden by selecting nfo Bar from the View menu or by clicking the icon on the Information pane The Info Bar consists of three views 1 Build Shows the status of the compilation of a Mosel model and reports errors if any Click on an error to make the editor navigate to the offending line in the model When running a model some brief statistics and version information appear here Press the button Copy to clipboard to copy the contents of the Build view to the Windows clipboard Then paste into any text editor email client Information n C xpressmp examplessmoselModelingscoco mos compiled successfully Last matrix Mosel version 2 5 Module s in use mmxprs version 1 9 2 mmive version 1 20 0 Started running C sxpressmpsexamplessmoselModelingscoco AXpress IVE Model run complete Build Main Problem locations Debug Watch Copy to clipboard P ad
76. meter values 4 3 8 Default PROJECTDIR If a Project is loaded this will be set by default to the directory in which the Project is located 4 3 9 Parameters A sequence of assignments in name value name2 value format specifying names and values to be passed to the parameters end parameters block of a Mosel model when it runs 4 4 Debug options Dialog Accessible by selecting Debug Options from the Debug menu or by clicking the button on the Toolbar Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 49 Break points 3 Soft breakpoints output watches then continue Hard breakpoints wait for user ta continue When debugger stops at a line O No output 5 Qutput line number 5 Qutput line number line cantent Output watches This dialog contains settings that control the behavior of the debugger Options 4 4 1 Breakpoints Soft breakpoints When reaching a soft breakpoint perform any of the actions below and then continue This helps in gathering a log of the model execution without user intervention Hard breakpoints When reaching a hard breakpoint watches are updated and the execution stops The execution must be resumed manually 4 4 2 When debugger stops The following options are available No Output Output line number Output line number line content Output line number line content expand identifiers Output
77. n C VAN3A081 Solution C XTROX004 Solution C XTR0Z007 Solution C XTR3Z007 23olution C YPSIX004 Solution with 2902 zero value element s hidden Xpress IVE Dialogs 1 1 1 1 1 l 1 1 1 1 L 1 1 1 Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced Reduced cost coat coast cost coat cost cost coat coat cost cost coat coast cost 13400 4 32831e 010 oO c3 BR C 3 oO O 9 82077e 011 1982 51 0 754142 Reduced cost 0 0 245858 Reduced cost 0 1 Reduced cost 0 1 Reduced cost 0 193459 OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 46 Test view Table view view COLNAMES 1 TELOATET 0 909744 15L04191 0 090256 3L38191 0 534041 d3L3 amp 151 0 405955 2eL04162 e3LSA1B52 48005141 48034121 ASLOAU31 A3L3A132 BULDAT11 BULS5111 ARLSYT OB ALTCY UE As OAT 1 ASVSAUST 0 714 VASVOATST 0 057523 ASVSATUT 0228477 ARLEAT3T 1 BIROTODS BIRSr DB BRaDAUET BR28T UB BR DATUOT BROSATI1 0328743 BR SA121 0 071251 COCLZ007 L 1 1 1 1 1 1 1 1 1 The View text dialog can be used to display in simple editable format m The value of an entity in the Entity tree by double clicking the entity This is where the full li
78. n NODES do IVEdrawpoint graph Y index Y index T IVEdrawlabel graph Y index Y index string index end do optional Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 67 The mmive Mosel library can be used for drawing graphs in the User graph section of Xpress IVE This wizard explains all the functions options available for graphing 5 10 10 Programming Wizard Mosel assistant scratch pad 1 Name amp Type 2 Parameters 3 Data Input 4 Variables 5 Objective 6 Constraints Results amp tuning 8 Text Output 9 Graphina 10 Programming etc 11 Debugging 12 Complete models Mosel preview 10 Programming etc Programming features in Mosel Loops Conditional statements 9 forall o if then else end if O while case of end case C repeat did Abort model O Exit programmatically Subroutines procedures and functions Declare a subroutine C Define a subroutine O Overload a subroutine More about Scope of local declarations C Parameter passing conventions O Using Optimizer callbacks Select a callback Cut manager initialization callback Cut manager node callback Cut manager termination callback Cut manager top node callback Log barrier callback Log global callback Log simplex callback Node optimal callback Node preprocessing callback Node selection callback This preview is independent of the model open in
79. n found Starting root cutting amp heuristics s gt Type here Output Input Stats Matrix Solutions Objective MIP search BB tree User graph IIS 3 6 2 Statistics Optimizer status and statistics Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 19 Stats g H atrix Presolved FRowe constraints Rowelconstraints Calumris variables Calumns variables Monzera elements Monzera elements Global entities Global entities Sets Sets Set members Set members LP relaxation Global search Algorithm Simplex dual Current node Simplex iterations 9 Depth Objective 16 6337 Active nodes Status LP Optimal Best bound Time 01s Best solution Gap Status Solution is optimal Time 5s Time overheads Progress graphs Writing output Fausing Updating status Output Input Matrix Solutions Objective MIP search BB tree 3 6 3 Matrix A zoomable view of the matrix Column view Row view Graphical original Graphical presolved Calumns 10 User graph 3 6 4 Solutions The last N solutions found by the Optimizer Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 20 View last N solutions found by the Optimizer Name small large time_used wood_used revenue wood_remaining obj 3 6 5 Objective Obj 1330 2 66 138 200 1330 0 1330
80. nd implicitly the logical arrays they belong to Sometimes however the intentions of the user may not be guessed correctly Please keep in mind these actions performed by IVE on each variable and constraint name to determine its root 1 All blanks at the beginning of the name are removed 2 All blanks at the end of the name are removed 3 The name is then searched from left to right for any of these letters 0123456789 When any such letter is found that letter and all subsequent letters are thrown away 4 f the previous three steps produce non empty name it is the designated as the root of the original name 5 If the previous three steps yield an empty name start again with the original name and do the following 6 Remove all digits 0123456789 from the name 7 The remaining letters in the name are designated as the root m Some examples The root of x 1 2 is x The root of production level Detroit April 5 is production level Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 29 3 9 2 The Column View Matrix 1 Column view Row view Graphical original Graphical presol Column Mame Rows UB Solution L1 1 0 0 L2 1e 020 11 8313 L3 1e 020 3 01467 C4 1e 020 6 05435 C5 1e 020 3 04969 CB 1e 020 D Cr 1e 020 796 35 L8 1e 020 194 669 L3 1e 020 137 585 1e 020 200 546 1e 020 203 55 Te 020 D 1e 020 796 35 1e 020 601 681 1e 020 404 096 1e 020 203 55
81. nd or columns each colored rectangle in the upper part of the window will represent one nonzero coefficient in the matrix m If the matrix is large or very large above one thousand and up to hundreds of thousands of rows and or columns a colored rectangle will represent a region in the matrix corresponding to a certain number of rows and columns All the nonzero coefficients in the matrix regardless of its size are examined only those regions that have at least one nonzero coefficient will be represented by a colored rectangle m The matrix can be zoomed into by clicking and holding the left mouse button and dragging right and down After zooming only the region marked by the zooming rectangle will be shown The coefficients are recounted and the accuracy of the display will increase After zooming deep in the matrix a point can be reached where the colored rectangles represent actual coefficients in the matrix When the current view is the result of a zoom one can move around the matrix by dragging with the right mouse button m To zoom out double click the left mouse button m The rectangle shown permanently next to the cursor acts as a magnifying glass It marks a region consisting of 12 rows and 10 columns next to the cursor and brings that region into view in the lower part of the window As the mouse cursor moves around in the matrix the magnified region is constanly updated m The meaning of colors Red A negative coe
82. ndow SELECTION tabsel X Dtabgettabiid tah if tabsel Eric then z Dgroupsetvisiblei id group ernie false zh Dpgroupenable id group ernie false zxh Dgroupsetvisibleijid group eric true z Dgroupenable id group eric true else x pgroupsetvisible id group eric false zh Dgroupenable id group eric false z Dgroupsetvisible id group ernie true zh Dgroupenable id group ernie true End ir end procedure end maodel You have now created a very simple working example using the resource editor groups and events Provided you have saved all changes to the resource file you should now be able to run the example and switch between the tabs successfully XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 90 Index A Auto complete 2 D dashboard scheduling 71 Debug watch 17 dialog breakpoint condition 50 debug options 49 deploy 51 list modules 53 new module wizard 54 optimizer 44 run options 47 self executing model 52 source code 56 view 47 E editor properties 2 F file open 3 save 3 save as 3 l Info Bar 16 M matrix tab Column view 30 Graphical view 32 Row view 31 Scaling view 33 Sketch view 28 menu Build 6 Debug 6 Deploy 7 Edit 4 File 3 Help 9 Modules 7 Optimizer 9 Project 4 View 5 Window 8 Wizards 8 Model Explorer Bar 12 Mosel keywords 2 Mouse over information 1 P pop up me
83. ni ll abCUlEOE This preview is ir of the model inthe editor Select and diag ot lassign value s to a n123 14 m 4 Variables Wizard Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 58 Existing decision variables anap AP LAP of mpya Declare new decision vaaia Identifier VaristigH ames Scaler Set E Anas CI Dynamic aan Mosel preview E Free aka negate values X Continuous 3 Semiccezinunus C Binay C Paid integer C Integer 7 Semizontinusus integer Type Click bo add sets to declaration RP eene eau of mper eae index sels Insel aLcuteot This preview is ol the model inthe editor Select and diag a declarations VarisbieNMame array of mpvar end declarations tall variables are created canti irucus by default use is continuous to change the type back to continuous if needed Mosel assistant scratch pad m 5 Objective Wizard Algonthm 4 Use defeuk Optimizer algorithm usually dus Primal simplex Dual amples io Bama col the model in the editor Select and diag o Invoke the Optimizer to solve problem iwith objective function Objective ninimize Objective LH T Hrust inci Craii Balance dynamic aray 777 of ingu 3 Deka Input AMariables Declare new constraini Identifier DonstainiH sme Scaler Seat m Aay Dynamic atay em needed
84. nstraints and arrays of variables into logical units to give a more concise representation of the matrix in the Optimizer In the example above the following information can be gleaned about the matrix from the sketch view 1 There are 6 rows of type which are named Closed There are 8 rows of type which are named MxMake There are 8 rows of type which are named MxRStock There are 8 rows of type which are named MxSell Ui A W N There are 16 rows of type which are named PBal Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 28 14 There are 16 rows of type which are named RBal In ALL the 6 rows named Closed variables named openm appear 12 times In ALL the 8 rows named MxMake variables named make appear 16 times In ALL the 8 rows named MxMake variables named openm appear 8 times In ALL the 16 rows named PBal variables named make appear 16 times In ALL the 16 rows named PBal variables named pstock appear 32 times In ALL the 16 rows named PBal variables named sell appear 16 times The objective function references variables named buy 16 times variables named make 16 times variables named openm 8 times and so on Notes m Only constraints and variables sent to the Optimizer will be represented m In most cases by examining the names of variables and constraints in the matrix IVE can determine their roots a
85. nt for the window objects as they have a non client border area Height The pixel height of the current object and the relevant size of the usable area The read only usable text is currently only relevant for the window objects as they have a non client border area m Special Attributes Special Attributes jh Disabled If you wish the object to be initially disabled non responsive to events and in many cases greyed out then set this control to true The default is enabled the control set to false Visible If you wish the object to be initially hidden then set this to false True by default When set to false the object will be drawn with a small red X within the editor To actually hide an object within the editor it must belong to a group and the group itself needs to be hidden using the Hide Group in Editor switch Sorted If you wish list objects to be sorted when first displayed then set this to true False by default URL This string field is currently only relevant for the browser object and should contain the starting address or home page to use the common nomenclature for the browser object when it is first displayed It will not display anything within the FED object as this is not an actual browser window m Groups XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 79 Groups Current Groups ragress Gr o s J hal Mame ProgressGro
86. nu files 15 folders 15 project 15 print 3 project 14 close 4 new 4 open 4 save 4 save as 4 Project Explorer Bar 13 project tree darg and drop 16 PROJECTDIR 16 R resource new 3 Run Bar 17 S syntax highlighting 1 T toolbar Execution 11 Navigation 10 Tools 12 Tools Bar 17 W wizard complete models 70 constraints 65 data input 63 debugging 69 graphing 67 name type 62 objective 64 parameters 62 programming 68 results tuning 66 text output 67 variables 64 wizards 57 X XAD resource editor 72 adding events 73 OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 91 Index browser 77 button 77 canvas checkbox 77 deleting objects 73 droplist 78 editor 77 form edit dialog 73 go to procedure 76 group marker 77 groups 4 input 77 list 78 multilist 78 permanent groups 4 progress properties dialog 78 radio 77 repositioning 73 scrollbar horizontal 77 scrollbar vertical 77 selecting groups 73 snap to grid 76 tabs 77 temporary groups 4 text 78 toolbar 76 tree 77 XADgroupaddmember 75 XADgroupcreate 5 XADgroupdisband 75 XADgroupenable 75 XADgroupgeth 74 XADgroupgetid 74 XADgroupgetw 4 XADgroupgetx 5 XADgroupgety 5 XADgroupremovemember 75 XADgroupsetpos 5 XADgroupsetvisible 75 OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 92
87. of sting dram aray 177 of ireli array ARCS of inieger array ARCS of mpra MERCAR aas ARCS of integer MIN CAF anay ARCS of integer atay MODES of nleget ancy HODES of integer Maie be Use fommatiing Standard pue a duel Leljushed Minimum length in characters E e Standard Hiosel data lle m Flight justiied sate water n Mosel preise E A fandom lle Digi decimal point l inil ab cutee This preview is ir of the model inthe editor Select and diag a needed write value of Identifier to output write identifier a6 chin Micha Moe ricco amig ns ax model bo enable access Hn diae function Graphiray prindrees Pick colors Point i Predefined color im Custom cole U now z5 Bad e Rectal LE Greer Zoom Constrain plot ares bebesen gen coordinsiss El Erase graph Sample applications D Plat a unidimenzionel amay x d n 4 Plot ay graph using two unidimensional anys Yt Ss a This prewarw is ol the model inthe editor Select and diag w a needed declarations graph integer end declarations raph zIVEaddplat T Y IVE BLUE Creates amp graph feralliindex in BODES de IVEdrawpoinr graph Y index Y index ivEdEAawlapel grzaph TY index Y index srring imdex aprional ended m 10 Programming Wizard Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 60 fi Programming beature in hose Loops Landitionel statements Cho
88. onstraints page 71 CHAPTER 7 XAD resource editor 7 1 Create XAD Forms using a Drag and Drop Interface The XAD Resource Editor can be used to quickly create a form layout for use in XAD Mosel applications The layout as defined by the user in the editor is saved to file in a simple XML format and may then be read in using XAD s XADloadresource function A full example for doing this from the XAD Editor all the way to a XAD Mosel model can be found on the example page 4 Xpress IVE 64 bit Resource 003 named rsc LJ TE 1i File Project Edit View Build Debug Deploy Modules Wizards Window Optimizer Help 8x D e B fe Fal BB ml amp Search File Position m B E amp Tool Bar s C Resource 500 rsc C Resource _310 rse C Resource 003 named rsc 4 P x Properties 2 Editor Options xml version 1 0 encoding windows 1252 Strings 3 xad head CompactMode 1 Language English United States LANGID 1033 CanvasDemo C Snap to grid form name CanvasDemo title Canvas experiments width 750 height 400 posx 50 posy 50 Resi i lt object id 1 caption Pick one state 3 name TextExplain width eight posx 10 posy Aez j Resize to grid bj i p 3 T Expl width 95 height 250 0 10 Resource C xpressmp ex lt object id 2 caption Text state 3 name Text width 80 height 24 posx 17
89. oooecoceccU BS DUE j rank j k Xpress IVE OCopyright 1983 2014 Fair Isaac Corporation All rights reserved wi page 1 m Auto complete feature Press CTRL Space to obtain a list of Mosel keywords and other identifier names that can be inserted at the current location One position per job forall j in JOBS oOnePositionPerJobi ij sum k in JOBS rankij E 1 Sequence of jobs forall k in 1 NJ 1 sequencek start k i start k sum j in JOBS DUEi j ranki j k Start times foralltk in JOBS StartTimes k startrk sumij in JOBS RELi j rankij k Completion times forall k in JOBS CompletionTimes k compik start k sum j in JOBS DUR j ran forall j k in JOBS rank j k is binary mmadbc ctrl eqlsuccess mmaodbc ctrl SQ Lupdate mmadbc prac amp glverbose mmaodbc ctrl romesip func M ozel func Start time of job at position k i arap OBS of mpwar mmsprs Furic mmsprs proc Mozel func Mozel type Mozel func m When pressing CTRL Space as a function procedure or array name is typed in the signature list of parameters or index sets will appear in a tooltip highlighting each parameter as it gets typed One position per job forall j in JOBS oOnePositionPerJob j sum k in JOBS rank j k 1 Sequence of jobs forall k in 1 NJ 1 Sequence K start EK 1 start k sum j in JOBS DUEi
90. optimization by requesting that Mosel and the Optimizer stop Mosel the Optimizer will stop whenever it is safe to do so Shows the Run options dialog allowing the user to change settings for Mosel or Optimizer runs It can also be invoked while a Mosel model is executing or during the optimization of a matrix file Changes will take effect immediately after the dialog is dismissed Shows the Export matrix dialog for exporting matrices produced during Mosel runs to LP or MPS files Sets or removes a breakpoint on the current line Ea Set breakpoint condition Invokes the Breakpoint condition dialog Xpress IVE Menus Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 6 yi Start Continue xn Step over E H Step into Run to cursor Le Debug Options e Profile 2 7 The Deploy menu al Deploy N Self Executing Model a Deploy ee Self Executing Model 2 8 The Modules menu Create a new module List available modules Create a new module List available modules Xpress IVE Menus Saves compiles and begins resumes debugging the current mos Mosel model While debugging the execution will stop at breakpoints or can be controlled manually by stepping into the code When the execution is interrupted values for all identifiers including those with a local scope are available Also the Debug watches in the Info bar are updated While debugging advance the execution point
91. or the objects on the resource may be added or navigated to via the XAD Event Dialog This is shown when an object or the form itself is double left clicked XAD resource editor Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 84 Events Dialog Object Type BUTTON Object Name Exit Event IPRESSED Mosel file to add event to c xpressmp examples wad 500selectiongrour Cancel Go to Procedure As an example we will now navigate to the Exit button callback discussed earlier To do so firstly double click the Exit button in the FED to open the Event Dialog for the button Once this is open we can navigate to the event callback in the following manner m Select the Event In this case we wish to select the PRESSED event but were you adding a different event you could select any of the events offered to you in the drop down list m Select the Mosel File We wish to navigate to the event callback already set in 500selectiongroups mos but you could choose to add the event to any valid Mosel file in which you intend to load the Resource 500 rsc m Go to Procedure Once you ve selected the event and file you wish click the button and you will be taken to the relevant callback in the file specified In this case the callback already exists and so you should now see the XADwindowclose function call which forms the operational code of the callback If you d chosen to add a currently non existent ev
92. ose branching vatishls callback P Cul manager idiatiason callback 8 foral CHE hen else endil Cul min node zalbsck D while D csa of end case Cul manage lainna callback epeal Cut manage top mode callback Abort model Ling banier callback 2 Ex programatically Log ghbal callback 1 SEAT Ling amples callback Subnouires peocedanes amd functions Node cutoff callback p booi Hada in aasble callback ep 3 Node optimal cali aci C3 Dei a suteouine Hod preprocessing calloack Overlord a subeouti Made sacilor callback Hon about D Scope of local declarations C Parameter passing coreention Sample forall loop with nexr declarations apsiset of string beep ail multiplicstians end declarations ferall i in 2 10 4 in 1 10 de if i j of 5 then nent end if lakip 5 ar 5 pH4 4acrfmr i 3 e arrfmr 3 4 arrfmr i 1 3 ladd one ar a rime end do Terellia in opa wrirelnias print it m 11 Debugging Wizard ptimcer DD Ceata a log of Mosel output C Enabke disable prezolue E Pause a running model bo impect values al a kasio C1 Reque detaded infomation on nfeasibd ses D Get lhe statue of optimization optimal inleanble ate btam mone deladed loge Obisin debug infomation liom SOL eperatiane E Stopping the Oplimizer controlling how long d une Mincal Ophmize interaction D Preserve model memes in the plimzer matrix 3 Onder column names deleimimshcaly D Embe
93. osel model from VB NET Only available when a mos file is open in the editor Produces a simple VB NET program Run Mosel model from C Only available when a mos file is open in the editor Produces a simple C program Optimize matrix file from C Only available when a matrix file is open in the editor Produces a simple C program Optimize matrix file from Java Only available when a matrix file is open in the editor Produces a simple Java program Optimize matrix file from Visual Basic Only available when a matrix file is open in the editor Produces a simple VB program Optimize matrix file from VB NET Only available when a matrix file is open in the editor Produces a simple VB NET program Optimize matrix file from C Only available when a matrix file is open in the editor Produces a simple C program 4 8 Self Executing Model Dialog Accessible by selecting Se f Executing Model from the Deploy menu or by clicking the pe button on the Toolbar Xpress IVE Dialogs Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 52 Create Self Running Mosel Model Choose a name default is the Mosel model name and save location for the self executing Mosel model If more than one system is chosen then each EXE will be created with the system name incorporated in to the file name Executable Name MyModel Save Location C jobs Create For v winaa Linux32 SPARC32 HPUX 32 V Win64 Linux64 Sola
94. p About Xpress IVE Xpress IVE Help Opens this help system Xpress Help Opens the comprehensive Xpress Help system which includes in depth documentation on all Xpress products About Xpress IVE Shows the About dialog including version and copyright information Xpress IVE Menus OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 9 CHAPTER 3 Xpress IVE Toolbars The Bars display rich information on the status of Xpress IVE the degree of success in compiling running Mosel models and results from runs In addition the Bars simplify user interaction with the application by placing most controls within easy reach The Bars can be resized or repositioned settings are always saved on exit 3 1 The Toolbars 3 1 4 Navigation Toolbar H Create a new file and open it in the editor also present in File menu Open an existing file in the editor also present in File menu I Save the file currently shown in the editor also present in File menu a Cut the selected text and place it in the clipboard also present in Edit menu Eig Place a copy of the selected text in the clipboard also present in Edit menu Insert the contents of the clipboard at the current location also present in Edit menu Go to the previous position in the editor also present in View menu P Go to the next position in the editor also present in View menu ii Go to the previous indentation level also present in View menu
95. p2 mos R array 113 CONN sum c in CONNAO12 CONNA LINE 36 harp2 mos R array 113 CONO sum c in CONOAO11 CONOA LINE 37 harp2 mos R array 113 CON9 sum c in CON9A012 CON9A LINE 38 harp2 mos R array 113 COUO sum c in COU0A011 COU0A LINE 39 harp2 mos R array 113 COU9 sum c in COU9A011 COU9A LINE 40 harp2 mos R array 113 CRVO sum c in CRVOA012 CRVOA LINE 4l harp2 mos R array 113 CRV9 sum c in CRV9A012 CRV9A LINE 42 harp2 mos R array 113 ELPA sum c in ELPAA011 ELPAA LINE 43 harp2 mos R array 113 ESCO sum c in ESCOA011 ESCOA LINE 44 harp2 mos R array 113 ESC9 sum c in ESC9A011 ESC9A LINE 45 harp2 mos R array 113 FRAM sum c in FRAMA012 FRAMA LINE 46 harp2 mos R array 113 FINK sum c in FINKA0O12 FTNKA Wow w m Ww Wm Ww Ww Wn Ww WW Wn W m Wm W Wn W M m li Optimizer output when a matrix file is run using the Optimizer Dialog Reading Problem xprs_17a8_5a9da20 Problem Statistics 112 0 spare rows 2993 0 spare structural col 5840 0 spare non zero eleme Global Statistics 2993 entities 0 sets Minimizing MILP Xxprs 17a8 5a9da20 Original problem has 112 rows 2993 cols Presolved problem has 92 rows 1025 cols LP relaxation tightened Its Obj Value o 1088468011 100 113378833 7 200 81184011 79 300 74358397 70 321 1 3925169 35 Optimal solutio
96. posy 40 class BUT Caption Canvas experim Controls lt object id 3 caption Shade state 3 name Shade width 80 height 24 posx 17 posy 70 class B vY 4 m 33 E Pi Button osition parent relative Form Editor n X Position 50 Radio 2 Canvas experiments Y Position 50 Checkbox UE Perr Geometry actual usable OERE E Canvas Height 400 366 M I T ene E Progress t Seer HE Groups j Editor Current Groups fi Tree All written in Mosel Multiist SEE i Tr EA Droplist u Text H n Edi hanges t Promote Selection to Group Ready Idle Free Memory 1106 MB Line 1 18 Col 0 READONLY OVR This section contains the following topics m The Drag and Drop Toolbar m The Form Edit Dialog m The Properties Dialog m XAD Groups m The Event Dialog Xpress IVE OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 72 m Tutorial Example 7 1 1 The XAD Resource Editor Form Edit Dialog E EERESEgS sie i t ize NS x pper gu p26 i eezereg ASISTENTE The Form Edit Dialog FED is used to construct a XAD window object containing XAD control objects through a drag and drop style interface A form created in this manner may be loaded into a XAD Mosel model and the controls and objects on the form created from the resource file rather than creating the objects programmatically with Mosel code The form itself may
97. r Show hide the Project Explorer Bar Show hide the Info Bar Show hide the Run Bar Show hide line numbering in the editor Show hide a margin on the left side of the editor Bookmarks will appear here In case the bars in IVE are positioned wrongly or lost select to reset the layout to the shipping default Show hide the Stochastic modeling dashboard when available Show hide the Scheduling dashboard when available Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 5 2 5 The Build menu a Compile F7 Run F Ga Options F Export matrix 4 4 Compile gt Run Pause e Stop E Options Ha Export matrix 2 6 The Debug menu Re Set Breakpoint F9 o bs Start Continue F5 ca Step over F10 4 Step inta Fil ajm Mr co Debug Options 5 Profile Re Set Breakpoint Saves and compiles the current mos Mosel file If there are compilation errors they will appear in the Info Bar If compilation is successful the entity tree will be populated with entities from the model Saves compiles and executes the current mos Mosel model During the execution the output from Mosel will go to the Output pane from the Run Bar After the run terminates the entity tree will show actual values taken by variables in the Mosel model Uncheck this option to resume the execution after it has been paused Attempt to interrupt the execution of a model or an
98. ree Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 14 3 3 2 Pop up menu for the Project Add Files Add Folder Save Save As Add Files AddFolder Save Save AS 3 3 3 Pop up menu for files Rename Remove from Project Rename Remove from Project 3 3 4 Pop up menu for folders Add Files Add Folder Rename Folder Remove Folder from Project co Add Files AddFolder Rename Folder Remove Folder from Project Xpress IVE Toolbars This brings up a file dialog box allowing the user to add files to the top level of the Project This creates a new empty Folder as a direct child of the Project which can then be renamed and populated Same as the Save action on the Project menu When you save a Project all modified files within it are also saved Same as the Save As action on the Project menu When you save a Project all modified files within it are also saved This makes the file name editable See Editing file and folder names below This can also be acheived by selecting the item in the Project tree and pressing F2 This removes the file from the project but does not delete it from disk This can also be acheived by selecting the item in the Project tree and pressing the Delete key This brings up a file dialog box allowing the user to add files to this folder This creates a new empty folder as a direc
99. returned H catch XPRMLicenseError e System out printin Failed to licence Mosel rresult gp qgetMessage els NIU This dialog is the last step in any Xpress IVE operation that produces C Java VB VB NET or C source code Depending on what type of source code was produced compilation instructions are given Save the contents of the editor using the Save As button Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 56 CHAPTER 5 Xpress IVE Wizards Xpress IVE Wizards can be used to learn more about Mosel simplify repetitive tasks when developing models and or provide insight into the more advanced features of the Mosel modeling language and the Optimizer The general structure of each wizard window is pee LP ee eee a AFF jeie o rm rm gm qo sl DOM Bee t Erie ibi eee d E eij i3 rni uml dmi Facit E i Le qui di SrA us agn genis aps 1 RR OAT VO Ee ates dem cns b Fama A A mu EE DG RAS i Ei 1 Wizard selector at any moment select the desired wizard from here Skip any number of steps focus on only one wizard etc 2 Actual wizard this part is specific to each of the current 12 wizards 3 Mosel source source code produced while interacting with the wizard This code can be edited inserted in the Mosel editor or copy pasted Wizards are designed to be self explanatory and highly interactive Use the mouse to sele
100. riables GP quadratic programming 9 Objective MIOP mixed integer quadratic programming 6 Constraints gt SLP i A ial li 7 Results amp tuning nonlinear programming using sequential linear programming 8 Text Output D SP stochastic programming 3 Graphing EP constraint programming 10 Programming etc R 11 Debugging 2 No mathematical programming features 12 Complete models Use graphing and drawing facilities in I VE Use ODBC connections for data input output from databases or spreadsheets Require statement termination with Require all symbols to be declared before use Mosel preview This preview is independent of the model open in the editor Select and drag or copy paste as needed model ModelName options noimplicit uses mmxprs mmive mmodbc optional parameters section writeln Begin running model writeln End running model end model The Name amp Type wizard assists with creating the skeleton of a model The skeleton source code is updated to reflect options selected in the wizard window 5 2 2 Parameters Wizard Mosel assistant scratch pad 1 Name amp Type 2 Parameters When embedding Mosel in an application a string of parameter value pairs can be passed as an argument when running the model e g ETT XPRMrunmod model result MAXTIME 300 USE LOGztrue d Variables mosel c exec model mos MAXTIME 900 USE_LOG true 5 0bjective f Eue Sjak
101. ris SPARC64 HPUX64 Win IA64 Linux IA64 5olaris AMD64 HPUX IA64 Self executing model created as C jobs MyModel_win32 exe Self executing model created as C jobs MyModel_win64 enxe Finished This dialog can be used to create executables with self contained compiled Mosel models within them The dialog contains the following options m Executable Name The name of the executable to create The file used to create the self running model will be the Mosel file currently in focus in the editor Executables are created using a concatenation of this name and the platform m Save Location The folder location to attempt to save any created executables to m Create For Any platforms for which IVE finds suitable executable stubs for will be selectable New executable stubs will be added over time and should be available from the Xpress website Currently there are only Windows stubs available Any stub executables named SelfRunMosel platform exe should be placed in the J9XPRESSDIR96 bin Tools SRAssist folder m Message Output Any error messages or notifications concerning the executable creation are displayed here m Finished Exit the dialog m Create Click this to have IVE attempt to build and create the executable for the selected platforms 4 9 List Modules Dialog Accessible by selecting List available modules from the Modules menu or by clicking the button on the Toolbar Xpress IVE Dialogs OCopyright
102. ry Mosel File to Add Event to Here you can select any open Mosel code file choose to open another Mosel file or choose to create a new Mosel file The tutorial example creates a new Mosel file but most commonly you will wish to add events to a current file Cancel Close the dialog without adding an event Go To Procedure This will open the selected Mosel file and provided it is a valid file add in the relevant callback and a small piece of code This code will simply display a message to the effect of Not yet implemented and is simply meant as a placeholder until you add your own functioning code to the callback Note If the callback already exists in the file then you will be taken to that section of the code and no new code will be created Note If you alter the name of the objects window or the callback name itself once it has been created then the XAD code will not call that callback during code execution The callback mechanism works on the assumption that the auto generated callback will have the name structure ObjectName WindowName EVENT Should you wish for any reason to alter the name of an object during code execution then you may do so using the XAD procedure XADsetname objectID integer newName string but great care should be taken when doing so 7 1 4 The XAD Resource Editor Drag and Drop Toolbar PLE 195 AUR ii TET B Brje Dim mm Editor pons Snap tog ae Come a fo ele s ua
103. s in range ee 1565 Minimum 3e 006 Maximum 1e 020 Number of coefficients in ronge 1e20 1e21 M 20755 1e20 1e21 1e19 1e20 1e19 1e20 1e18 1e19 1e18 1e19 1e17 1e18 1e17 1e18 1e16 1e17 1e16 1e17 1e15 1e1 1e15 1e16 1e14 1615 1e14 1815 1e13 1e14 1e13 1e14 le12 1e13 16121813 1e11 1e12 1e11 1e12 1e10 1e11 1e10 1811 1e9 1e10 1e9 1e10 168 163 188 163 187 168 187 168 185 127 185 167 185 185 185 165 164 105 1e4 1e5 EE 48 1e3 1e4 1e2 1e3 161 182 1e0 1e1 1e 1 1e0 le 2 1e 1 1e 3 1e 2 1e 4 1e 3 1e 5 1e 4 1e 6 1e 5 le 7 1e 6 1e 8 1e 7 le 9 1e 8 1e 10 1e 9 1e 11 1e 10 1e 12 1e 11 1e 13 1e 12 1e 14 1e 13 1e 15 1e 14 0 1 2 3 4 10 10 10 10 10 Dutput Input Stats Matrix Objective MIP search BB tree A histogram showing ranges for matrix coefficients right hand sides objective coefficients and bounds The Objective tab of the Run Bar The graph on top shows the evolution in time of the objective value during the Simplex algorithm The iteration is also plotted by time OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 33 Objective Click for graph history Simplex Objective variation Uo J8 wo oO m O Duality gap W Duality gap Output Input Stats Matrix Solutions Objective MIP search User graph 3 The graph at the bottom shows the
104. s the option of printing the current executed line The line can also be expanded to show current values of primitive identifiers integers strings booleans reals and current sizes of arrays and sets see the Debug Options dialog for more information Clicking on a line number will activate the corresponding line in the editor 3 8 The Stats tab of the Run Bar H atrix Presolved FRowe constraints Rowe constraints Calumrns variable L alumns variables Nonzero elements Nonzero elements Global entities Global entities Sets Sets Set members Set members Overall status Finished global search LP relaxation Global search Algorithm Simplex dual Current node Simplex iterations 9 Depth Objective 16 6337 Active nodes Status LP Optimal Best bound 3h Time mile Best solution 35 3 ap Ore Status Solution i optimal Time 0 Bs Time overheads Progress graphs Writing output Fausing Updating status Output Input Stats Matrix Solutions Objective MIP search BB tree During the optimization solving stage of a Mosel run or when optimizing a matrix file this Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 27 window pane displays the state of the Xpress Optimizer Text is highlighted black when the status or activity is current or currently taking place Text is dimmed gray when the status information depicted is no longer current e
105. software and its documentation even if Fair Isaac Corporation or its affiliates have been advised of the possibility of such damage The rights and allocation of risk between the licensee and Fair Isaac Corporation or its affiliate are governed by the respective identified licenses in the lt XPRESSDIR gt licenses readme txt file Fair Isaac Corporation and its affiliates specifically disclaim any warranties including but not limited to the implied warranties of merchantability and fitness for a particular purpose The software and accompanying documentation if any provided hereunder is provided solely to users licensed under the Fair Isaac Software License Agreement Fair Isaac Corporation and its affiliates have no obligation to provide maintenance support updates enhancements or modifications except to users licensed under the Fair Isaac Software License Agreement FICO Fair Isaac and Blaze Advisor are trademarks or registered trademarks of Fair Isaac Corporation in the United States and may be trademarks or registered trademarks of Fair Isaac Corporation in other countries Other product and company names herein may be trademarks of their respective owners How to Contact the Xpress Team Information Sales and Licensing USA CANADA AND ALL AMERICAS Email XpressSalesUS fico com WORLDWIDE Email XpressSalesUK fico com Tel 44 207 940 8718 Fax 44 870 420 3601 Xpress Optimization FICO FICO House International Square St
106. stflow mos 41 mincostflow mos 45 mincostflow mos 5 msec run 3 msec 2 msec 2 msec 2 msec 1 msec 1 msec 0 msec msec msec msec msec msec msec msec msec msec msec Beppe np BeBe Be we e m o rR N n Cn Hp oa mE gt 0 He N r rR PRPRPRP PS FS CO CO CO 0 Oh Output Input Stats Matrix Solutions Objective MIP search BB tree User graph Debugger output Xpress IVE Toolbars Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 18 20 harp2 mos forall c 19L9A022 in AGLSA012 AGLSA022 AGLS 4 LINE 20 harp2 mos forall c 19L9A032 in AGLSA012 AGLSA022 AGLS LINE 20 harp2 mos forall c 19L9A042 in AGLSA012 AGLSA022 AGLS LINE 20 harp2 mos forall c 19L9A051 in AGLSA012 AGLSA022 AGLS LINE 27 harp2 mos R array 113 BIRO sum c in BIROA011 BIROA LINE 28 harp2 mos R array 113 BIR9 sum c in BIR9A011 BIR9A LINE 29 harp2 mos R array 113 BROO sum c in BRO0AO011 BROOA LINE 30 harp2 mos R array 113 BRO9 sum c in BRO9A012 BRO9A LINE 3l harp2 mos R array 113 BR20 sum c in BR20A011 BR20A LINE 32 harpP mos R array lt 113 gt BR29 sum c in BR29A012 BR29A LINE 33 harp2 mos R array 113 COCL sum c in COCLAO12 COCLA LINE 34 harp2 mos R array 113 COLM sum c in COLMA012 COLMA LINE 35 har
107. sting of an array or set can be examined m The value of an entity in the editor window by bringing up the context menu and selecting Show value of This only applies to non scalar entities such as arrays and sets m The complete list of ancestors for a node in the branch and bound tree pane in the Run Bar after double clicking the node The contents of either the text view or the table view can be saved as plain text or as CSV respectively or copied to the clipboard via the context menu on each control The text menu further offers facility for full cut and paste and text search There is one control to affect display of data The Hide zero value decision variables checkbox will when checked remove those elements from a collection of mpvar for which the Mosel getsol function returns zero 4 3 Run options Dialog Accessible by selecting Options from the Build menu or by clicking the k button on the Toolbar Xpress IVE Dialogs Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 47 Draw progress graphs Pause E Glob search Stochastic models C Pause to prune scenario tree manually Branch and Bound tree Draw tree Ps ff A Enable node highlighting Default PROJECTOIR C Mobs Parameters D ATAFILE data tet Simplex At every Simples log entry L Newton barrier At every Newton barrier log entry Ls At every Global search log entry CP search
108. t child of this folder which can then be renamed and populated This makes the folder name editable See Editing file and folder names below This can also be acheived by selecting the item in the Project tree and pressing F2 This removes the folder and any contents from the project but does not delete any files from disk This can also be acheived by selecting the item in the Project tree and pressing the Delete key OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 15 3 3 5 Drag and Drop within the Project tree In order to rearrange the structure of the Project hierarchy files and folders can be moved by Drag and Drop with the mouse For instance when a new folder has been created other files or folders can be dragged into it 3 3 6 Editing file and folder names When a file or folder is made editable a text box is brought up over its location with the current contents selected Having adjusted the name press the Enter key to confirm the change or the Escape key to cancel If you are renaming a file that is open in the IVE editor the file will also be renamed in the editor Note you cannot use this method to move files to different directories merely to rename files with a directory this is why only the file name is editable not the whole path 3 3 7 Run options When a Project is saved the contents of the Run options dialog are saved with it These options are then restored when the Project is re
109. t of the model open in the editor Select and drag or copy paste as needed model ModelName options noimplicit uses mmxprs mmive mmodbc optional parameters section Li writeln Begin running model I writeln End running model end model m 2 Parameters Wizard aan f FONNEN paw Turm embedding hood in an application a string of paramebern value pairs ran ba passed as an srqument when running the modal eg PPiBiunmod rdel nest WAST IHE e SODLLISE LOG m mazel o exec madel mos M amp XTIMEZSOD USE LOG ziru These waue ell override the values specified in the best of tree model B T ext Qutput 3 Graphirg Notes The parameter type is infeed by Mosel iom dis value 10 Programming etc T Debuggrg The parameters black must immedistely bollay te Feeder of a mody 12 Complete modele Parameter are heated s constants Thei value cannot be changed et runtime Paremesber lypes Badnan uue w halse Inkeger An integer betwen 147 AE EAE and 2 147 901 587 Real A ruamber belweer 1 76308 and 1 704305 Seng amp quoted sting of characters nthe editor Select and diag a model HodelHasme iIparsneters section first parameters MAXTIME 300 USE LOG false 1 end paramerers Rest of the model declarations scacemenrs erc a End model Read rom i Vrae manually wiilen in the model CIA standard Mosel data ies Mosel preview A random text file D A database using ODBC
110. the editor Select and drag or copy paste as needed Sample forall loop with next declarations ops set of string end declarations forall i in 1 10 j in 1 10 do if i 5 or j 5 then next end if ops strimt i 3 strimt j 3 strimt i j 3 end do forall s in ops writeln s The Programming wizard has two parts keep all multiplications skip 5 or 5 add one at a time print it 5 10 1 Common Mosel programming tasks Select a radio button for sample source code that exemplifies that feature 5 10 2 Setting Optimizer callbacks for advanced interaction with the Optimizer Check the Xpress documentation for more information on using Optimizer callbacks Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 68 5 11 11 Debugging Wizard Mosel assistant scratch Dad 11 Debugaing 1 Name amp Type D Create a log of Mosel output O Enable disable presolve 2 Parameters i g 3 Data Input D Pause a running model to inspect values at a location Require detailed information on infeasibilities 4 Variables 5 0bjective Get the status of optimization optimal infeasible etc C Obtain more detailed logs 6 Constraints g 7 Results amp tuning D Obtain debug information from SQL operations Stopping the Optimizer controlling how long it runs 8 Text Output 3 Graphing 10 Programming etc Mosel Optimizer 12 Complete models
111. tial integer Array O Dynamic array Integer O Semicontinuous integer aa array of mpvar Mosel preview Clear index sets This preview is independent of the model open in the editor Select and drag or copy paste as needed declarations VariableName array of mpvar end declarations all variables are created continuous by default use is continuous to change the type back to continuous if needed The Variables wizard can be used to declare and set the type of decision variables Type the name of a variable and select index sets if an array Optionally specify the type of the decision variable s Watch as the source code is constantly updated based on your selections 5 5 5 Objective Wizard Mosel assistant scratch pad 5 bjective The objective function must be a scalar linear expression 1 Name amp Type i dynamic array of linctr Parameters OneProjPers dynamic array of linctr 3 Data Input 4 Variables 5 Objective 6 Constraints 7 Results amp tuning 8 Text Output 3 Graphing 10 Programming etc 11 Debugaing 12 Complete models wae Optimization Direction Algorithm Scope Use default Optimizer algorithm usually dual Perform global search automatically Minimize Primal simplex Solve LP ignoring global entities O Maximize Dual simplex Stop after LP Barrier Global search only Mosel preview This preview is independent of the model open in the editor
112. tree max 131 072 nodes E Store all domains for up ta 100 Matris visualization Show original matrix Show presalved matris E Enable sketch view Enable thumbnail view Draw CP search tree 7 C nodes E Use Model parameters e g param value param2 value2 etc Cancel Settings that control the execution of a Mosel model or the optimization of a matrix file can be modified using this dialog This dialog can be invoked at any time even while a run is taking place Changes will take effect immediately after the dialog is dismissed Options 4 3 1 Draw progress graphs Simplex Newton barrier Global search 4 3 2 Branch and bound tree Draw tree Enable node highlighting 4 3 3 Pause At every Simplex log entry Graph the progress of the Simplex algorithm The sampling is made every second Graph the progress of the Newton barrier algorithm Graph the progress of the global search for integer solutions The sampling is made every second Draw the Branch and Bound tree Allow searching for nodes in the tree by variable name Pause at every log entry during the Simplex algorithm Log entries are produced periodically during the course of the Simplex algorithm their frequency is controlled by the mmxprs parameter XPRS LPLOG At every Newton barrier log entry Pause at every iteration during the Newton barrier algorithm At every Global se
113. u could enter Tutorial Window m Set the Window Position on Screen For this example we ll have the window open and display at half its own width and height from the top left of the screen If you ve set a form width and height of 600x400 then set the X Position to 300 and the Y Position to 200 Next we ll add a button object for closing down the program once it s started This will involve adding the button itself via the drag and drop editor creating the new Mosel model file and adding the PRESSED event to close the window in the Mosel code m Adding the Button Object Click and drag a button object from the drag and drop toolbar on the left hand side of the editor Once your mouse cursor moves over a droppable area of the newly created form you can release the mouse button this will create a button at the position of the mouse cursor To refine the position of the button you may left click and drag it within the form or you may enter the position in the Properties Dialog as we did with the main form In this example we ll place the button towards the bottom right of the form m Modify the Button Attributes As with the main form we should give the newly created button a more descriptive caption and if desired a more unique name In this example we will mark the button as the Exit button and give it the name Exit m Add a PRESSED Event To make the button function when pressed we need to add an event via the Event Dialog Wit
114. up Hide Group in Editor Save Changes Current Groups List The list of groups currently associated with the resource Selecting from the list makes that group the current selection Name The name given to the group either a default name or a user given name Visible If you wish the objects within the group to be initially hidden for instance if you are creating a tab object with multiple tabs then set this to false Ignore by default meaning that the individual object settings for visibility will be honoured When set to false the objects of the group will be drawn with a small red X within the editor To actually hide a group of objects within the editor the group needs to be hidden using the Hide Group in Editor switch Disabled If you wish the objects of the group to be initially disabled non responsive to events and in many cases greyed out then set this control to true Ignore by default meaning that the individual object settings for command response will be honoured Note that this control will override any previous setting for the individual objects Hide Group in Editor Hide the currently selected group in the editor window This is only for display in the editor as you are currently working on it and does not affect run time display of the objects Save Changes Save the changes to the current group such as a change of name or visibility status Delete Remove the current group from the
115. up of five regions m On the left a list of buttons corresponds to the files opened in the editor Switch from one file to another simply by clicking the button having the chosen file name m The teal CtrleAlteLeft and 2 Ctrl Alt Right buttons navigate through current and previous locations in the editor m The T Ctrl Alt Up and BB cir AltsDown buttons find a previous or next line in the editor with the same indentation level as the current line m The Find button marked by binoculars opens the search dialog The search box can be typed in or pasted to from the clipboard Press Enter to repeatedly search in the current file for occurrences of the word or expression in the search box The small progress bar below the search box shows the position of the editing cursor in the current file m The context Help button if pressed it will attempt to find Help on the current word in the editor 3 6 Run Bar n Can be shown hidden by selecting Run Bar from the View menu or by clicking the icon on the Run pane Xpress IVE Toolbars OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 17 The Run Bar groups together the following tabs panes Output Input Stats Matrix Solutions Objective MIP search BB tree SLP progress User graph CP stats and CP search The Run Bar can be put into space saving mode by enabling the Auto hide checkbox when the mouse leaves the area of the Run Bar and enters t
116. ution Find integer solutions Loads the matrix for visualization inspection No optimization is performed For MIP problems runs the Optimizer to find the optimal solution For MIP problems runs the Optimizer in a special mode to find alternate optimal solutions Note that the BB tree visualization will no longer be accurate If problem is infeasible run the IIS Optimizer command to examine infeasibility sets Attemps to find a feasible solution to an infeasible problem by relaxing constraints and bounds For more information look up the command REPAIRINFEAS in the Optimizer Reference Manual Write solution summary to screen Write nonzero variable values from the solution vector to the Output window in the Run Bar Write solution to formatted ASCII file Write the solution to a prt file and open it for viewing Xpress IVE Dialogs OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 45 4 1 7 Strategies control parameter settings Set these control parameters before the matrix is read in For example VARSELECTION 3 MIPRELSTOP 0 05 4 2 View text Dialog Test view Table view C SAB0AD28 Solution C SABSYO06 Solution C SANDA141 Solution C SHELYO006 3olution C STAMA141 Solution C TAUO0X004 Solution C TAUSY006 Solution C TEMOX004 Solution C TEM3X004 Solution C TOP0YO006 Solution C TOP3Y006 Solution C TRANA141 Solution C VANOY006 Solutio
117. various groups relevant to whichever tab has been selected Note A maximum of three tabs within a tab control will display in the editor This limit does not apply when running the actual XAD Mosel model The standard Windows multiple line text entry control The standard Windows tree display control Copyright 1983 2014 Fair Isaac Corporation All rights reserved page 77 m Multilist The standard Windows multiple column list control The list may also have its sorted flag set by setting the Sorted field of the XAD properties dialog to true i List The standard Windows list control Multiple items may be added to the list by entering a comma separated list within the Caption field of the XAD properties dialog The list may also have its sorted flag set by setting the Sorted field of the XAD properties dialog to true Droplist The standard Windows droplist control Multiple items may be added to the list by entering a comma separated list within the Caption field of the XAD properties dialog The list may also have its sorted flag set by setting the Sorted field of the XAD properties dialog to true A Text The standard Windows read only text display 7 1 5 The XAD Resource Editor Properties Dialog The Properties Dialog of the XAD Resource Editor is used to set the various window object or grouping properies of items on the Form Edit Dialog FED In some cases such as altering size
118. ved page 37 m To move around in the tree when zoomed hold the right mouse button down and drag in any direction The small preview window in the corner will continuously reflect the new position in the tree m The arrow keys will also move around in the tree ensure the tree window has the focus by right clicking in it do not left click that will return to full tree view m If lost in the tree or if the image doesn t look correct left click to return to full view m Hovering the mouse above nodes will produce tooltips with information on the current node m The tooltips at each non terminal node contain the following information Node number Depth Initial branching direction The branching variable and its current relaxed solution value Relaxed objective Current best bound Current best solution Number of descendants How many descendants are cutoff infeasible solutions The ten most recent ancestors of the node each with info on branching direction BB tree n When paused highlight nodes branching an Estimated degradation 0 Relaxed objective 28 315 amp descendants 3 cutoff 1 infeasible 0 solution s Predecessors Node 1 Depth 0 DOWN on x17 0 Node 3 Depth 1 DOWN on x10 0 5 Mode 61 Depth 2 UP on x3z0 128501 Mode 62 Depth 3 UP on x18 0 388288 Output Input Stats Matrix Solutions Objective MIP search BB tree
119. y RP RP of integer Results amp tuning 8 Text Qutput 9 Graphing 10 Programming etc 11 Debugaing 12 Complete models Read from Values manually written in the model O A standard Mosel data file Mosel preview D A random text file D amp database using ODBC Insert at cursor This preview is independent of the model open in the editor Select and drag or copy paste as needed assign value s to a a 3 14 Mosel models can be separated into logic and data The Data Input wizard attempts to obtain all the data declarations in a model and then gives an example of how such data may be read in Standard Mosel data files as well as reading from random files is supported described Note that data can be of the types integer boolean real string not mpvar or linctr Xpress IVE Wizards OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 63 5 4 4 Variables Wizard Mosel assistant scratch pad 4 Variables Existing decision variables assign array RP RP of mpvar 1 Name amp Type 2 Parameters 3 Data Input 5 Objective 6 Constraints 7 Results amp tuning 8 Text Output 3 Graphing 10 Programming etc 11 Debugaing Declare new decision variable s 12 Complete models Type Click to add sets to declaration Free allow negative values RP Identifier VariableN ame m Continuous 2 Semicontinuous Scalar Set Binary O Par
120. y you will receive a warning that any files with relative paths will not be updated relative to the project s new location For more information on use of Projects in Xpress IVE see the Help entry on the Project Explorer Bar Revert the editor to the state before the last editing action Cancel the previous Undo operation Cut the selected text and place it in the clipboard Place a copy of the selected text in the clipboard OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 4 E Paste rir Find Replace Go To Line ee Erase bookmarks Select All 2 4 The View menu Navigation Toolbar Tools Toolbar Execution Toolbar Project Bar Info Bar Run Bar Line Numbers cu 3 3 Repair Window Layout Scheduling dashboard Navigation Toolbar Execution Toolbar Tools Toolbar Model Explorer Bar Project Explorer Bar Info Bar Run Bar Line Numbers Left Margin EEI Repair Window Layout Stochastic dashboard Scheduling dashboard Xpress IVE Menus Insert the contents of the clipboard at the current location Open the search dialog Open the replace dialog Go to any line number in the editor Remove any bookmarks placed by a recent search Select the entire text buffer in the editor Show hide the toolbar showing navigation buttons Show hide the toolbar showing execution buttons Show hide the toolbar showing debug tools buttons Show hide the Model Explorer Ba
121. y existent group It takes the arguments groupID integer objectID integer XADgroupremovemember Remove an object from a group It takes the arguments groupID integer objectID integer XADgroupdisband Remove all objects from a group It takes the argument groupID integer Further details of these and other XAD routines may be found in the XAD Reference guide xadref pdf 7 1 3 XAD Resource Editor Event Dialog Object Type BUTTON Object Name Text Event PRESSED Mosel file to add event to c xpressmp examples ve binpacking mos Cancel Go to Procedure This dialog allows the user to quickly add in events for specific objects on the Form Edit Dialog FED It is opened by double left clicking or right clicking if you so desire on the current object Options in the dialog XAD resource editor OCopyright 1983 2014 Fair Isaac Corporation All rights reserved page 75 Object Type and Object Name These are read only and simply indicate the type of the object just selected and the name given to that object see the XAD Properties Dialog to alter this Event The type of event to add The selection list will change depending on the type of object currently selected For instance a BUTTON object will not respond to WINDOW OPEN events and so it will not appear in the list A full list of events and object types can be found in the XAD Reference Manual xadref pdf within the Xpress installation docs directo
Download Pdf Manuals
Related Search
Related Contents
HLM-2000-EX Flammable Gas Transmitter User Manual Imprint™ 3 Pentax Istd W/, 8gb Memory Card, Card Reader, Remote, Full Sized Tripod Etc Manual del usuario - CONRAD Produktinfo. MF20...61 FRANCESE 2/2001 Toro INF30 Design Guide Xerox 721P Printer User Manual Samsung Galaxy Y Pro Εγχειρίδιο χρήσης Tech air Z0108 Copyright © All rights reserved.
Failed to retrieve file