Summary: -------- TravelCCM aims at providing a clean API, and the corresponding C++ implementation, for choosing one item among a set of travel solutions, given demand-related characteristics (e.g., Willingness-To-Pay, preferred airline, preferred cabin, etc.). The TravelCCM C++ library implements some simple Customer Choice Models (CCM), as referenced in the literature (PhD dissertations at MIT, for instance: http://dspace.mit.edu). The TravelCCM C++ library exposes a simple, clean and object-oriented, API. For instance, the choose() method takes, as input, both a structure representing the travel request (e.g., "from Washington, DC, US, to Beijing, China, on the 25th of May") and a list of travel solutions (as provided by the Airline Schedule Manager project: http://sourceforge.net/projects/air-sched), and yields, as output, the chosen item. The output can then be used by other systems, for instance to book the corresponding travel or to visualize it on a map and calendar and to share it with others. TravelCCM makes an extensive use of existing open-source libraries for increased functionality, speed and accuracy. In particular the Boost (C++ Standard Extensions: http://www.boost.org) library is used. TravelCCM is the one of the components of the Travel Market Simulator (http://www.travel-market-simulator). However, it may be used in a stand-alone mode. Building the library and test binary from Git repository: ---------------------------------------------------------------- The Sourceforge Git repository may be cloned as following: git clone http://github.com/airsim/travelccm.git travelccmgit cd travelccmgit git checkout trunk Then, you need the following packages (Fedora/RedHat/CentOS names here, but names may vary according to distributions): * cmake * gcc-c++ * stdair-devel * boost-devel * zeromq-devel * readline-devel, ncurses-devel * soci-mysql-devel * python-devel * gettext-devel (optional) * doxygen, ghostscript, graphviz and tetex-latex (optional) * rpm-build (optional) Building the library and test binary from the tarball: ------------------------------------------------------ The latest stable source tarball (travelccm*.tar.gz or .bz2) can be found here: http://sourceforge.net/project/showfiles.php?group_id=261639 To customise the following to your environment, you can alter the path to the installation directory: export INSTALL_BASEDIR=/home/user/dev/deliveries export LIBSUFFIX_4_CMAKE="-DLIB_SUFFIX=64" Then, as usual: * To configure the project, type something like: mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_BASEDIR}/travelccm-1.00.1 \ -DWITH_STDAIR_PREFIX=${INSTALL_BASEDIR}/stdair-stable \ -DCMAKE_BUILD_TYPE:STRING=Debug -DENABLE_TEST:BOOL=ON -DINSTALL_DOC:BOOL=ON \ -DRUN_GCOV:BOOL=OFF ${LIBSUFFIX_4_CMAKE} .. * To build the project, type: make * To test the project, type: make check * To install the library (libtravelccm*.so*) and the binary (travelccm), just type: make install cd ${INSTALL_BASEDIR} rm -f travelccm-stable && ln -s travelccm-1.00.1 travelccm-stable cd - * To package the source files, type: make dist * To package the binary and the (HTML and PDF) documentation: make package * To browse the (just installed, if enabled) HTML documentation: midori file://${INSTALL_BASEDIR}/travelccm-stable/share/doc/travelccm-1.00.1/html/index.html * To browse the (just installed, if enabled) PDF documentation: evince ${INSTALL_BASEDIR}/travelccm-stable/share/doc/travelccm-1.00.1/html/refman.pdf * To run the local binary version: ./travelccm/travelccm -b * To run the installed version: ${INSTALL_BASEDIR}/travelccm-stable/bin/travelccm -b Denis Arnaud (December 2012)