November 16 2012 - Mike Steglich, Thomas Schleiff
	CMPL v.1.7.1 has been released
		set pattern matching
			set *> [tuppelPattern]
			Returns an n-tuple set consisting of unique elements of the set set which match tuplePattern
			in order of their first appearance. A tuplePattern have to be formulated in the form of a 
			tuple and has to have the same rank as the original set.

		solutionPool
			Gurobi and Cplex are able to generate and store multiple solutions to a mixed integer programming 
			(MIP) problem. With the display option solutionPool feasible integer solutions found during a MIP 
			optimization can be shown in the solution report. It is recommended to control the behaviour of 
			the solution pool by setting the particular Gurobi or Cplex solver options.

		Bug fixing
			Some minor bugs in the handling of tuples are fixed.	

July 5 2012 - Mike Steglich, Thomas Schleiff
	CMPL 1.7.0 has been released
		cmplData file and new CMPL header entry %data
			A cmplData file is a plain text file that contains the definition of parameters, sets with 
			their values in a specific syntax. The parameters and sets can be read into a CMPL model by 
			using the new CMPL header entry %data.

		Indices and sets for n-tuples with n>1
			An index is always an n-tuple, where n is the count of dimensions of an array. Since this version
			is it possible to define and use sets for n-tuples with n>1. 

		New command line argument -syntax
			Syntax checks can be carried out with or without data. If the parameters and sets are specified 
			within the parameter section it is only necessary to use the command line argument ­-syntax or 
			the CMPL header option %arg ­syntax. 
			If a user wants to execute a syntax check without data then a CMPL header entry %data has 
			to be defined including a complete specification of the sets and parameters that are necessary 
			for the model. 

		Bug fixing
			A bug in the handling of set intersection was fixed.
			Due to different Java installation on Win32 and Win64 the file coliop.bat has been changed. 

March 19 2012 - Mike Steglich
	CMPL 1.6.2 has been released
		CPLEX support:
			CPLEX can be executed directly by CMPL if the entry CplexFileName 
			in the file <cmplhome>/bin/cmpl.opt is edited. 

		New command line argument -ignoreZeros
			If chosen then only variables and constraints with non-zero values are shown
			in the solution reports.

		New CMPL header element %display:
			Sets variable name(s) or constraint name(s) that are to be displayed in 
			one of the solution reports. 

		Changes in solution report handling
			Due to the new arguments -ignoreZero and %display it was necessary to change 
			cfResult::standardReport(int outtype) and cfResult::writeCsv()
			and to create the new private methods:   
			custReport(int outType) and custWriteCsv();		

		Solution Reports
			The structure of the solution reports (stdio, ascii, csv) has been changed a little bit.  

March 1 2012 - Mike Steglich
	CMPL 1.6.1 has been released
		SCIP support:
			SCIP can be used for mixed integer programming (MIP) problems. 
			If SCIP is installed on the same computer as CMPL then SCIP 
			can be connected to CMPL by changing the entry ScipFileName 
			in the file <cmplhome>/bin/cmpl.opt. 

		Command line argument handling:
			Some minor changes
			Now it is possible to enclose the file name with double quotes if
			the path and/or the file name contains blanks. 
		Gurobi handling
			changes in gurobiCmpl.py, gurobiPython and CmplIO.cc,  CmplIO.cc
			The entries in cmpl.opt are not longer necessary to execute Gurobi 

January 26 2012 - Mike Steglich
	CMPL 1.6.0 has been released
	
	CMPL is fundamentally reorganized and partially new created. 
		New classes:
			cmplUtil::CmplArgs 	 	handling of the CMPL command line arguments
									handling of the CMPL header
			cmpl::CmplCore			CMPL's core (compiler and interpreter)
									transforms the CMPL model in a model instance
			cmplUtil::CmplInstance	handling of the generated model instance
									writes the instance files (OSiL, MPS, Free-MPS)
			cmplUtil::CmplIO		interaction with the solvers
									writes the standard solution reports to 
									stdout, to an ASCII file or a CSV file
			cmplUtil::CmplIOStream	handling of the solver stdout and stderr
			cmplUtil::CmplException	handling of the CmplIO exceptions
			cmplUtil::ArgError		handling of the CmplArgs exceptions
			
	Due to these reorganizations the CMPL performance is considerably increased. 
				
	New features: 
		CMPL header
			A CMPL header is intended to define CMPL options and solver options for 
			the specific CMPL model. The elements of the CMPL header are not part 
			of the CMPL model. Since a CMPL header is processed before the CMPL model is 
			interpreted, the defined options have an impact on the CMPL model. 
			
			Most of the CBC, GLPK and Gurobi solver parameters now supported by the CMPL
			header element %opt.
			
		GLPK and Gurobi support
			Beside the COIN-OR OSSolverService the GLPK is a part of the distribution. 
			If you have installed Gurobi then you can also use this solver directly. 
				
		count() - 	new array function 
					returns the count of elements or 0 if the parameter or the 
					variable does not exist	
					replaces the deprecated dim() and def()
			
	New command line arguments
		-maxDecimals <x> 		- maximal number of decimals in the solution report (max 12)
		-dontRemoveTmpFiles		- Don't remove temporary files (mps,osil,osrl,gsol)
		-matrix [<File>]		- Writes the generated matrix in a file or on stdout.
		
	Coliop
		The CMPL distribution contains now Coliop which is an (simple) IDE for CMPL. 
		Coliop is an open source project licensed under GPL. It is written in Java. The sources are
		available under www.coliop.org.
		
	COIN-OS (customized - only CLP, CBC, Symphony) and GLPK are parts of the distribution now.
	
	Test routines are extended by some solver tests.  
	
May 23 2011 - Mike Steglich 
	CMPL 1.5.2 has been released

	Install script are changed for linux and OS X.
	The scripts downloads the OSSolverService binary from www.coin-or.org/download/binary/OS/OSSolverService/ 
	and installs it in a different folder to CMPL.
		

April 2011 - Mike Steglich 
	CMPL 1.5.1 has been released
		
	New command line argument:
	-solutionAscii      : 	optimization results in ASCII format 
                   		A file <cmplFileName>.sol will be created.

	some bugs are fixed in cmplFrame::readOsil 
		
March 20 2011 - Mike Steglich 
	CMPL 1.5.0 has been released
		
	Direct connection to the COIN-OR OSSolverService including the COIN-OR solvers
	via two new classes: cmplFrame and eCmpl 

	cmplFrame is the common class to handle the connection between CMPL and 
	OSSolverService. cmplFrame uses the Qt4 framework
	eCmpl is a class to include the cmplFrame environment into the CMPL core.

	All changes to the existing code are embedded in 
	#ifdef SOLVERSERVICE	
	#endif

	A new build environmet using qmake and make was created.
	./cmplMake  


March 08 2011 - Mike Steglich 
	CMPL 1.4.4 has been released
		
	FileIO::io_write_dest_mps()
	New default for integers variables w/o an upper bound is set to infinity.
		
	FileIO::io_write_dest_xml()
	New default for variables w/o an upper bound is set to -infinity.

February 16 2011 - Mike Steglich / T. Schleiff 
	CMPL 1.4.3 has been released
		
	IntFuncBase::insert_ind_elem()
	A bug was fixed.
		
	Main::c_getmem(size_t len)
	A bug was fixed.

	CMPL_Scanner.l, IntFuncMathFunc::exec(val_str *vp)
	New CMPL function srand( int x)

	
November 2010 -  T. Schleiff 
	CMPL 1.4.2 has been released

	The code base was changed from C to C++

May 2010 -  Mike Steglich / T. Schleiff 
	CMPL 1.3.2 has been released
	
	FileIO::io_write_dest_xml()
	New output format OSiL 

	CMPL_Scanner.l, IntFuncMathFunc::exec(val_str *vp)
	New mathematical functions


		



			 
