Javascript Menu by Deluxe-Menu.com
[Home]
[Client Area]
English Japanese
RELEASE NOTES - November 2006

Release notes for Xpress-MP 2006B.
Release notes for Xpress-MP 2006A.





New in Release 2006B


Xpress-Optimizer 17.10.04
  • A network simplex optimizer has been added which can be called by passing the n flag to minim or maxim
  • Node re-optimization has been made more stable
  • Cache size detection now works for Intel Conroe machines
  • Node presolving has been improved for mixed integer problems
  • Heuristics have been improved for set covering/partitioning problems
  • Presolve has been improved for certain problems
  • Cutting has been improved for dense problems
  • XPRSwriteomni now reads the solution from memory
  • Three new controls have been added SBESTIMATE, HEURSEARCHFREQ and HEURDIVESPEEDUP
  • Presolve has been improved to make the presolved problem more stable
Xpress-Mosel 1.6.3


Module mmxprs 1.4.5
  • new procedure 'getinfeas'
Module mmxslp 1.6.5
  • the SLP interp() function can now be used directly in Mosel in a formula for a gexp or a constraint, or for direct interpolation of a value.
  • a real array can now be used in place of an XV where the XV consists entirely of values (no variables, formulae or names).
  • SLPloadprob can now be called with any type of gexp. Previously, only linear or quadratic objectives were supported.
  • SLPminimize and SLPmaximize can now be called without a preceding SLPloadprob. The objective function is provided as an argument to the procedure.
  • Additional flags "n" (use nonlinear solver even if objective is quadratic) and "g" (perform SLPglobal after the linear optimization) are now accepted by SLPmaximize and SLPminimize.
  • New procedures setinitval, clearinitvals and copysoltoinit have been provided.
  • setintcontrol and related functions can now take a parameter name as well as a value.
  • Error messages can now be printed to the same stream as information messages (previously they were in separate streams and could appear out of order).
Xpress-BCL 3.0.2
  • BCL .NET interface with C# examples
  • New flag 'n' for network simplex optimization.
Xpress-IVE 1.17.12
  • Added support for the network simplex algorithm in the Optimizer dialog.
  • Matrix visualization now includes scaling information (in a separate tab).
  • The sketch view of the matrix can now be exported to HMTL by right clicking in the sketch view.
  • The module list dialog displays any errors encountered while loading Mosel modules.
  • A new Gantt chart/statistics dashboard is available for users of Xpress-Kalis.
  • Xpress-Kalis types are now recognized as such by IVE.
Xpress-SLP 1.28


Console
  • The console command file xslp.cmm can now include version-specific commands for both Xpress-SLP and the Optimizer (previously, only Optimizer commands could be version-specific).
  • New console command types (masked and "unsupported in this version") are included.
  • Command definitions of the form "int *int1" as well as "int* int1" are now accepted.
Library
  • Additional scaling options (every n iterations, or every n iterations after barrier) have been included.
  • New function XSLPsetdefaultcontrol resets a single control to its default value.
  • New functions XSLPgetparam and XSLPsetparam accept parameters by name.
Xpress-SP 1.3.5
  • Users can set the stage of a splinctr using the function spsetstage().


Fixed in Release 2006B


Xpress-Optimizer 17.10.04
  • XPRScopycontrols no longer copies PROBNAME and MATRIXNAME
  • A problem with tightening coefficients for integer variables has been fixed
  • Fixglobal now reverts to a slack basis to avoid basic MIP variables
  • Problem with XPRSgetscaledinfeas has been fixed
  • MAXTIME is observed correctly if exceeded during the heuristics
  • An invalid SOS member in an MPS file no longer causes all other SOS members on the same line to be skipped
  • The maximum line length for LP files has been increased to 2048
  • Model cuts are no longer used to derive bound redundancy during presolve
  • A problem with functions using the factorization after XPRSwritebasis has been fixed
  • A problem with running out of factorization space in the dual simplex has been fixed
  • The BACKTRACK control is observed correctly when NODESELECTION is set to 4
  • A problem with tidying up after the parallel MIP search has completed has been fixed
  • OBJVAL is now returned correctly when obtained from a MIP callback function
  • A problem when all spare rows are used up by XPRSaddrows has been fixed
  • Empty rows and columns can now be added with XPRSaddrows and XPRSaddcols
  • A problem with resizing in the tree search when MIPLOG is set to 1 or 2 has been fixed
  • Optimization will now stop if presolve runs out of memory
Xpress-Mosel 1.6.3


Compiler Library
  • included files terminating with a line ending with '!' (and no end of line) are now properly handled
  • 'elif' statements are now properly recorded in the debug information of the bim file
Runtime Library
  • the expression '|exists(a(i)) and exists(b(i))' no longer accepts invalid indices when the loop is optimised and 'b' is empty
  • under certain conditions a model may fail to start after an IO error occurred during a preceding run
  • a potential memory corruption has been fixed in the set finalizer
  • a potential memory corruption has been fixed in the 'mem' IO driver
Module mmodbc 1.6.3
  • a potential memory corruption has been fixed on Windows 64bit
Module mmxprs 1.4.5
  • a data corruption has been fixed in the presolving of user cuts
Module mmxslp 1.6.5
  • SLPsetcallback with an empty name now clears the corresponding callback function.
  • An unidentified name in SLPcalluserfunc is now trapped and faulted.
  • An XV containing mpvars is now correctly handled by SLPloadprob. Previously, the first load worked correctly but subsequent loads in the same program execution could store incorrect references.
  • An xvitem formula X+C where X is a variable and C is a constant is now correctly passed to the optimizer. Previously, the constant term was lost. This error appeared in release 2006A after some efficiency improvements, and is not in earlier releases.
Xpress-BCL 3.0.2
  • Replace calls to deprecated Optimizer functions.
Xpress-IVE 1.17.12
  • Warnings from unlicensed Mosel modules are no longer displayed at startup.
  • In some cases, error messages displayed by user modules upon unloading would cause IVE to hang. This has been fixed.
  • Zero length arrows drawn using IVEdrawarrow no longer appear as a line to infinity.
  • All Xpress-Optimizer control parameters are now available in the Optimizer dialog.
  • The IVE editor no longer inadvertently switches to regexp searching after examining a Mosel array.
Xpress-SLP 1.28


Console
  • Overflow of the memory for storing commands is now detected and the program stops.
Library
  • If the barrier optimization is unfinished, then primal simplex will be used to continue the optimization (previously, this only happened if the problem was quadratic).
  • Step bound estimates have been revised so that the estimate is not reduced if the movement increases but the direction changes.
  • The error message output when an index is out of range has been improved and now includes the type of item as well as the index.
  • Step bounds are now relaxed or fixed as appropriate when XSLPglobal is called without a preceding relaxed optimization (previously, any bound settings were retained from whatever had gone before).
  • Step bound status is now saved with information about integer solutions (previously, some bounds were incorrectly restored at the optimal node).
  • MIP solutions obtained by non-LP methods (e.g. heuristics) during MISLP are now obtained correctly (previously, if a heuristic solution was found during MISLP the solution was not recovered).
  • If optimization stops when the extended convergence continuation test fails, the better of the current and saved solutions will be restored (previously, the saved solution was always restored).
  • The test for the best extended convergence continuation solution has been corrected (previously it was possible for a later and better solution to be ignored).
  • Single-valued user functions can now be used with the return array argument (previously this combination could cause the program to crash).
  • All columns in the QUADOBJ section are now checked for existence in the COLUMNS section during XSLPwriteprob and SLPexportprob (previously, only the first column in each record was checked properly).
Xpress-SP 1.3.5
  • Bug fixes related to generation of SMPS format files.
  • Problem is reset when spsetstages() is called more than once.


New in Release 2006A


Xpress-Optimizer 17.01.00
  • The solution file is no longer created automatically. The solution file has to be created manually with the XPRSwritebinsol function and can be re-loaded into memory with the XPRSreadbinsol function.
  • The Xpress console has been re-written. Changes and improvements include:
    • Tab completion.
    • Improved help with the 'help' command.
    • Dynamically linked to the Optimizer library.
    • Cannot specify the problem name as the first line of an input file passed to the optimizer with the @filename command line syntax. Use "probname=" instead.
    • Access to the shell commands of the host operating system e.g cd, dir.
    • Implemented as a TCL shell ( new dependency on tcl84.dll for Windows platforms )
  • The parallel MIP code will now generate in-tree cuts. The new SHAREMATRIX control can be set to 1 to produce the behaviour of the old code.
  • A new XPRSpostsolve function has been added which allows MIPs and LPs in a presolve state to be returned to their original unpresolved state.
  • A new XPRSgetmipsol function has been added which allows the primal values of the last found MIP solution to be obtained. It is no longer necessary to use the integer solution callback when the solution file is turned off.
  • A new XPRSgetlpsol function has been added which allows primal and dual values for the current LP solution in memory to be obtained. The old XPRSgetsol which used to read from memory and from the solution file is now obsolete and should be replaced with calls to XPRSgetlpsol.
  • A new XPRSloadmipsol function has been added which allows a previously found MIP solution to be loaded into Xpress.
  • A new XPRSinterrupt function has been added which can be called from an Xpress callback function to stop the optimization process
  • A new XPRSgetcoef function has been added which allows the value of a single matrix coefficient to be obtained
  • The cut manager has been changed to work with the parallel code. As a result all XPRS functions which return a list of cuts now return a list of pointers to XPRScut structures.
  • Xpress can now handle unbounded integers and will no longer bound them by the size of the maximum integer
  • The barrier algorithm has been improved for some large problems
  • The speed of the factorization has been improved giving improved performance for the primal and dual algorithms
  • The presolve has been improved giving better performance for some MIP problems
  • The heuristics have been improved giving better solutions on some problems. A feasibility pump heuristic has also been added which can be activated by setting HEURSELECT to 127
  • The diving heuristics now work on MIQP problems
  • The XPRS_IIS attribute has been renamed to XPRS_NUMIIS
  • A XPRS_DUALIZE control has been added which allows the problem to be dualized when solving with the barrier algorithm
  • The XPRSgetbasis and XPRSloadbasis functions now have a status of 3 to indicate that a variable is super-basic.
  • The MIP performance has been improved with an average 20% speed improvement on our benchmark test set
  • The controls CPKEEPALLCUTS, CPMAXCUTS, CPMAXELEMS and REL10STYLE have been removed.
  • The control OLDNAMES is no longer supported
  • The attribute OBJFIXED has been removed
  • A new XPRSsetdefaultcontrol function has been added which can be used to set a single control back to its default value.
  • New XPRSaddsets and XPRSdelsets functions have been added which allow special ordered sets to be added and deleted. New controls EXTRASETS and EXTRASETELEMS have been added together with new attributes SPARESETS and SPARESETELEMS.
  • XPRSwriteprtsol/WRITEPRTSOL now takes additional arguments specifying filename and flags
Xpress-Mosel 1.6.2


Java interface
  • new constructor 'XPRM(String:dsopath)' to define the default dsopath before Mosel initialisation
.NET interface
  • xprmdn-helper.dll no longer required; new xprmdn-c-helper.dll needed instead
Module mmsystem 1.6.1
  • new 'setenv' procedure: environment variables set using this procedure can be accessed using 'getenv' and are available to processes started via 'openpipe' or 'system'
  • the implementation of the IO driver has been improved on Windows
  • the procedure 'system' now handles properly the output and error streams of the started program
  • this module publishes an IMCI (inter-module communication interface ) including functions setenv,getenv and system
Module mmxprs 1.4.4
  • support for Optimizer 17.0
  • control parameter 'xprs_iis' renamed 'xprs_numiis'
  • new control parameter 'xprs_dualize'
  • control parameters cpkeepallcuts, cpmaxcuts, cpmaxelems, objfixed and rel10style have been removed
Module mmxslp 1.6.0
  • SLPvalidate procedure for validating an SLP solution
  • SLPsetuserfuncaddress now accepts a string of hexadecimal characters for the address
  • Some common arithmetic operations within formulae (such as "+0" or "*1") are identified and simplified
Module mmodbc 1.6.2
  • a message is now displayed when 'SQLDisconnect' is called and SQLdebug is enabled
Xpress-BCL 3.0.1
  • New matrix generator (the order of columns now is fixed by default, setcolorder may still be used to switch to a different ordering).
  • New Java interface replacing error handling in C by Java exceptions. BCL Java now needs to be initialized explicitly by creating a new instance of XPRB before any problem is created. The XPRBprob(String name) constructor is replaced by method XPRB.newProb(String name). Certain methods (mainly set...) that previously returned 'int' now are of type 'void'. Furthermore, the Xpress-Optimizer problem can now be accessed directly. The following change is required for existing BCL Java programs to work with this version:
    
      Initialization with previous versions:
          XPRBprob prob;
          prob = new XPRBprob("myproblem");
    
      Initialization now:
          XPRB bcl;
          XPRBprob prob;
    
          bcl = new XPRB();
          prob = bcl.newProb("myproblem");
      
  • Summary of changes to the Java interface:
    • new classes XPRBlicense, XPRBerror, XPRBlicenseError, and XPRBcut
    • removed XPRB.init(), replaced by constructor XPRB()
    • replaced constructor XPRBprob(String name) by XPRB.newProb(String name)
    • new XPRB/XPRBprob method setOutputStream for handling of output streams
    • return type changed from int to void: XPRB: setMsgLevel, setRealFmt, setColOrder XPRBctr: setType, setRange, setModCut, setTerm, addTerm, delTerm XPRBprob: setMsgLevel, setRealFmt, setColOrder, setObj, loadBasis, setSense, exportProb, writeDir, loadMat, solve, minim, maxim, sync, setDictionarySize XPRBsos: setDir, addElement, delElement XPRBvar: setType, setUB, setLB, setLim, fix, setDir
    • new XPRBprob methods getXPRSprob, setCutMode, newCut, addCuts, reset
    • new XPRBctr method getAct
    • new XPRBlinExp methods getSol, setTerm, delTerm
    • new XPRBquadExp methods setTerm, delTerm
  • Details of new functionality of the Java interface:
    • Redirection of output streams (XPRB/XPRBprob method setOutputStream), see example Java/UGExpl/xbexpl3.java.
    • The Java interface now also handles OEM licensing (new class XPRBlicense).
    • Direct access to the Xpress-Optimizer problem from BCL Java: accessed via XPRBprob.getXPRSprob(); the Xpress-Optimizer Java needs to be initialized with XPRS.init() before the Optimizer problem is accessed. See examples Java/UGExpl/xbcontr1.java and xbcontr2.java. The methods for setting and getting Optimizer parameters from BCL are deprecated.
    • The garbage collector is now started automatically if BCL (not the Optimizer!) runs out of memory; with multiple problem runs forcing garbage collection may still be necessary to clear up the Optimizer problem, or alternatively, use XPRBprob.reset().
    • New method XPRBlinExp.getSol() (Java only), new methods setTerm/delTerm for linExp and quadExp (in C++ and Java)
  • Documentation of the cut functionality in C and addition of the corresponding functionality in C++ and Java. Cuts have the type XPRBcut (in C++ and Java class XPRBcut), that is similar to XPRBctr but does not have a name. Instead, the user may set an integer classification value. Cuts are not stored in the BCL problem, they are immediately sent to the Optimizer problem when XPRBaddcuts (XPRBprob.addCuts) is called.
  • New function XPRBgetact (C++/Java: XPRBctr.getAct()) to retrieve the activity value of a linear constraint.
  • Function XPRBresetprob (C++/Java method XPRBprob.reset) to free solution information and delete the Optimizer problem
  • New examples:
    • Goal Programming: */AdvExpl/xbgoalobj.*
    • Using the cut functions: */AdvExpl/xbelsc.* and */UGExpl/xbcutex.*
    • Accessing Xpress-Optimizer from Java: Java/UGExpl/xbcontr*.java
    • Java initialization, error handling, output stream redirection: Java/UGExpl/xbexpl3.java
Xpress-IVE 1.17.04
  • XP look and feel in Windows XP
  • Table-based view for Mosel arrays with enhanced search capabilities
  • Save or copy to clipboard in CSV format, for Excel, etc.
  • IVE editor can save an HTML version with color syntax preserved, for any known file type
  • A new sorted list of entities complements the existing entity tree
  • Quick access history of most recently examined entities
  • Maintains history of locations where editing took place, allowing navigation between 'hotspots' in the Mosel model
  • Right click in editor to quickly find all occurrences of a word
  • New models start off with a template
  • Warning from Mosel modules are shown at startup
  • Load and examine matrices without starting the Optimizer
  • Displays properties for types in Mosel modules
Xpress-SP 1.3.2
  • Xpress-SP is now integrated into the XpressMP suite.
  • Xpress-SP is a Stochastic Programming tool for solving optimization problems involving uncertainty. Xpress-SP can be used to model and solve problems occuring in Supply Chain Management, Energy, Finance, Transportation, etc., by building uncertainty into the optimization problem in order to hedge against future variability. By assimilating uncertainty into the optimization process, Xpress-SP enables superior management of resources by eliminating the overhead costs of conservative planning, reducing penalties for unmet targets, and achieving higher service levels and profits.
  • Two stage and multi-stage stochastic mixed integer linear programs.
  • Chance constraints.
  • Non-linear random expressions and break functions.
  • Independent and joint distributions.
  • Automatic and user-defined scenario trees.
  • Aggregation and deletion of scenarios.
  • Full integration with Xpress-IVE for visualization, analysis and debugging.
  • Evaluation of stochastic entities in the scenario tree.
  • Distribution function plotting for user defined expressions.
  • Functions for extracting instance of problem in a scenario or at a node in a scenario tree.
  • Functions for exporting stochastic problem in SMPS format and other formats.
Xpress-SLP 1.23
  • New function XSLPsaveas which saves to named .svf and .svx.
  • New integer attribute XSLP_DELTAS which has the number of delta vectors created in the augmentation.
  • New function XSLPgetptrattribute which returns the address (reference) for some of the SLP problem pointers.
  • A new method of calculating analytic derivatives is included which can be very much faster than the previous method (or numerical derivatives) for some common types of formula.
  • User-definable precision with the "p" flag is now accepted in XSLPwriteprob.
  • Memory control parameters can now be accessed in formulae by using the internal function PARAM.
  • New integer control parameter XSLP_SAVEALL allows repeated saving of the problem as a matrix+basis or as a save file at each SLP iteration.
  • By default, the problem is now rescaled before the second SLP iteration as well as the first, to reduce problems with poor initial estimates.
  • Optimizer controls and attributes can now be set or accessed through the corresponding XSLPxxxxxxcontrol and XSLPxxxxxxattribute functions.
Xpress-XAD 1.1.0
  • Take a screenshot or quickly print any XAD window by selecting the option from its system menu (Alt+Spacebar).
  • Take a screenshot of any XAD object from Mosel using XADsavescreenshot().
  • New objects: droplist, tree, scroll bars.
  • New function automatically generates ids for objects: XADid().
  • Canvas can draw elliptical pie charts, chords and arcs.
  • Multilists are sortable by clicking on the column name. No coding is necessary.
  • Virtual multilists use callbacks to retrieve cell data. Good for large and or/dynamic lists.
  • Windows can have menus. See XADwindowaddmenu().
  • XADchoosefile() now supports file extensions.
  • Canvas supports antialiasing to smooth text and graphics appearance("xad_highquality").
  • In high quality mode, canvas supports transparency levels for any drawing primitive ("xad_transparency").
  • Many other minor improvements.


Fixed in Release 2006A


Xpress-Optimizer 17.01.00
  • The java interface library javaxprs.dll (or libjavaxprs.so) can now only be used with corresponding xprs.jar
  • The java interface now correctly copies callbacks from master XPRSprob objects onto slave XPRSprobs created by multithreading optimizer.
  • The .NET interface no longer fails if you set a callback then set the same callback to something else
Xpress-Mosel 1.6.2

Compiler Library
  • unary constraints applied to set members are now properly compiled
Runtime Library
  • on AIX, Mosel can now read bim files coming from architectures with different byte ordering
  • large negative numbers are now properly interpreted in initialisation blocks
  • on "Big Endian" architectures (e.g. Sparc, rs6000) values of dynamic arrays of Booleans are now properly stored
Java interface
  • an error causing an application failure when the XPRM object is finalized before the last XPRMModel object has been fixed
  • 'null' used as the parameter string is now properly handled
Module mmodbc 1.6.2
  • mmodbc functions now check the validity of their input parameters
  • SQLupdate now ignores undefined dynamic array entries
  • positioned updates/deletes now complete even if some rows cannot be found
Xpress-BCL 3.0.0
  • New meaning of values for msglevel in XPRBsetmsglevel (C++/Java: XPRB/XPRBprob method setMsgLevel):
    0 no output, as before
    1 only print errors (no other Optimizer output)
    2 print errors and warnings (no other Optimizer output)
    3 errors and warnings + Optimizer log (new default value)
    4 all output
  • Correct memory management for Java.
  • Correct default values for pseudo costs in MIP directives.
  • It is now possible to work with several instances of XPRB under Java.
Xpress-IVE 1.17.04
  • Debugger steps in and out of included files correctly
  • IVE is now large address aware
  • Stopping Mosel and the Optimizer is now quick and effective
  • When printing, an extra page is no longer appended
  • Other minor fixes.
Xpress-SLP 1.23
  • NULL is now accepted for unwanted arguments in XSLPgetversion, XSLPgetcoef and XSLPpreparseformula.
  • XSLPcopycontrols and XSLPcopycallbacks both identify where the new and old problem are the same, and produce an error message.
  • XSLPscaling can now be used on a linear problem without augmentation.
  • A second attempt to perform augmentation through XSLPconstruct is no longer an error. The message is now a warning and execution will continue.
  • Error messages from the OLE interface to user functions (principally Excel spreadsheets and macros) now include the error code from OLE.
  • XSLP_VALIDATIONINDEX_A and XSLP_VALIDATIONINDEX_R are now regarded as double attributes and not controls. For compatibility with earlier versions, XSLPgetdblcontrol will still return the correct results.
  • XSLPgetintcontrol will return the current value of the memory allocation if called with a memory control parameter (instead of returning the initial value).
  • XSLPrevise now accepts bounds of type FR
  • A memory leak in MISLP has been fixed. Previously, if an integer solution was found that was not the best, some memory was incorrectly retained.
Xpress-XAD 1.1.0
  • Wrong parameters / uninitialized objects no longer cause crashes
Related Topics
Release Notes 2005B, 2005A
Download software
[Home] [Contact] [Client Area] [Search] [Sitemap] [Links] [Printer Friendly]
  © 2008 Fair Isaac Corporation. All rights reserved.