||Start of the project.
||First version of the library under Windows (with Cygwin and Borland C++ 5.02) and AIX. Only the standard layer and the graph structure.
||Basic algorithms for the minimum cost tension problem with linear costs.
||- Tools to manage files (Cut File, Dos Unix, Remove Files and Show Dir).
- Full portability under AIX, Linux and Windows (with Cygwin, Borland C++ 5.02 and C++ Builder 4).
||- First release of the library on the Web.
- Tools for the semi automatic generation of the documentation (Make Doc) and the makefile of the library (Build Makefile).
||An algorithm for the minimum cost tension problem with convex costs.
||Basic algorithms to solve classical problems: connectivity, minimum spanning tree, shortest path, maximum flow...
||- A tool to generate random graphs and problems (Build Graph).
- Tools to solve these problems (Solve Graph and Solve Tension).
||A tool to build the layout of a graph in the EPS format (Graph Layout).
||A tool to analyze and extract series of tests on algorithms that solve graph problems (Analyze Result).
||- Imperceptible changes in many modules that increase the speed of some algorithms.
- A new section in the documentation that explains how to use the library.
||- A new algorithm for the minimum cost tension problem with linear costs in serial-parallel graphs.
- Modification of the Graph Layout tool: an algorithm to build the layout of a binary tree.
||Basic algorithms to generate and solve the minimum cost flow problem.
||- A cost-scaling algorithm for the minimum cost flow problem.
- Another basic algorithm for shortest path problems.
||A new algorithm for the minimum cost tension problem with linear costs based on the cost-scaling algorithm for the minimum cost flow problem.
||- A tool to encrypt files (Encrypt).
- A tool to rename files (Renum Files).
||A new initialization and termination mechanism for the modules of the library. It makes the DLL version of the library fully operational. Warning: there are major changes in the way of compiling and using the library.
||- End of the testing with Borland C++ 5.02 and C++ Builder 4. They are replaced by Borland C++ 5.5 freely available here.
- A new algorithm to find a compatible tension in a graph that must significantly increase the speed of several algorithms.
||- A new display mechanism: instead of non implemented functions, there is an abstract class. Warning: there are changes in the way of initializing the library.
- A module to load a dynamic library at run time.
- A module to use the Java Native Interface (JNI). For the moment it only provides the load of a Java Virtual Machine.
||- Encapsulation of the library in a namespace and a folder, add of a prefix to the library names. This should avoid the clash of names. Warning: there are minor changes in the way of using the library.
- A module to manipulate threads.
- Modification of the makefile and the documentation generation to deal with Java modules in the library.
- Jirk++ mechanism to manipulate Java classes directly in C++. Documentation available .
||- Correction in the random generation of serial-parallel graphs with disruption.
- A new algorithm to decompose a graph into serial-parallel components.
||A new linear solver wrapper to use the GNU Linear Programming Kit.
||- Improvement of the accuracy of the error and debugging reports.
- A new algorithm for the minimum cost tension problem.
- An algorithm to find a topological ordering of the nodes of a graph.
||- Mutex mechanism in the thread module.
- First release of the library with thread-safety.
||- Improvement of the serial-parallel decomposition algorithms for graphs.
- Correction in the aggregation/reconstruction algorithm for the minimum cost tension problem.
- Move of the B++ Library official site to Nawouak.net.
||- Full compatibility with GCC 3 compilers.
- Improvement in the search of independent cycles, so they can be shorter.
- Data structure and random generation for the minimum cost discrete tension problem.
- CGI interface to use Build Graph online, available .
||- Modification of the GNU Linear Programming Kit wrapper to use the last 4.0 version.
- Basic heuristics to solve the minimum binary cost tension problem.
- New facilities in the decomposition of serial-parallel graphs.
- Improvement of the reconstruction method for the minimum cost tension problem.
||Full compatibility with Microsoft Visual C++ 7 compiler. Thanks to Toni Rönkkö for porting the POSIX "dirent" interface to this compiler.
||- Minor changes in the Environment module: any object with an output stream operator can be displayed now.
- An exact algorithm to solve the minimum binary cost tension problem on serial-parallel graphs.
||- Full compatibility with GCC 3.2 compiler.
- Improvement of the cutting algorithm to solve the minimum binary cost tension problem (aggregation used to solve the subproblem on a cycle).
- A wrapper for the CPLEX Callable Library (version 8.0).
||- A module for basic statistics.
- Pool facilities to speed up the allocation and deallocation of bunches of objects.
- New keywords for code generation (especially to design patterns for methods or functions with variable arguments).
- Mechanism and new keywords to provide identification for classes and methods. Introduction of the notion of method slot.
- Demangling for symbol and type strings provided by the RTTI mechanism (for GCC compilers only). Thanks to Carlo Wood for the source code.
- A framework called B++ Simulator for discrete-event visual simulation.
||- A module to make extendable data structures in Java.
- An extendable graph structure for Java.
||- Rewriting of the generic
make_pair function of the STL (for efficiency reasons). A specific version dedicated to the STL map structure is proposed.
- A Java wrapper to use Solve Tension in the HyperProp software.
||- Documentation on the B++ Simulator framework, available .
- A standalone package for Solve Tension, its name is B++ Tension Solver.
||- Full compatibility with GCC 3.4 compiler.
- Best portability of the method slot mechanism.
||- Full compatibility with Borland C++ 5.6.4 compiler.
- Changes in the Jirk++ mechanism to support Java 1.5.
||- The library is now fully deterministic: the execution only depends on the seed of the random generator (which is portable).
- Performance improvement of the graph and linear system structures.
- Modification of the GNU Linear Programming Kit wrapper to use the last 4.9 version.
||- With late Cygwin versions, JNI and Cygwin are incompatible: impossible to load into Java a DLL that is linked against
cygwin1.dll. Warning: the MinGW compiler must be used instead of the Cygwin compiler until this issue is corrected. The binary code of the B++ Tools, provided , is now built with the MinGW compiler. It is advised to update if you use them through JNI.
- A contribution module to replace low-level string functions such as
- A module to manage the B++ Library environment in Java. Warning: there are minor changes in the way of loading the library into Java. Check the documentation on for details (section "Native Methods").
- Modification of the GNU Linear Programming Kit wrapper to use the last 4.18 version.
|| - Full compatibility with GCC 4.1.2 compiler.
- Full compatibility with Borland/CodeGear 6.10 compiler.
- Full compatibility with Microsoft Visual C++ 9 compiler.
- A module to serialize objects.
- A multijob version of the makefile.
- Modification of the CPLEX Callable Library wrapper to use the 11.0 version.
|| - Full compatibility with GCC 4.8.3 compiler.
- Full compatibility with Borland/Embarcadero 7.20 compiler.
- Full compatibility with Microsoft Visual C++ 14 compiler.
- Minor changes to support Java 1.8.
- Modification of the GNU Linear Programming Kit wrapper to use the 4.54 version.