1.1 --- a/Doxyfile Sat Oct 11 11:29:12 2008 +0200
1.2 +++ b/Doxyfile Sat Oct 11 13:13:09 2008 +0200
1.3 @@ -84,7 +84,7 @@
1.4 #---------------------------------------------------------------------------
1.5 # configuration options related to the input files
1.6 #---------------------------------------------------------------------------
1.7 -INPUT = ./ \
1.8 +INPUT = . \
1.9 ./demo
1.10 INPUT_ENCODING = UTF-8
1.11 FILE_PATTERNS = *.h \
1.12 @@ -95,7 +95,8 @@
1.13 EXCLUDE_SYMLINKS = NO
1.14 EXCLUDE_PATTERNS =
1.15 EXCLUDE_SYMBOLS =
1.16 -EXAMPLE_PATH = ./demo
1.17 +EXAMPLE_PATH = . \
1.18 + ./demo
1.19 EXAMPLE_PATTERNS =
1.20 EXAMPLE_RECURSIVE = NO
1.21 IMAGE_PATH = ./images \
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/LICENSE Sat Oct 11 13:13:09 2008 +0200
2.3 @@ -0,0 +1,33 @@
2.4 +LEMON code without an explicit copyright is covered by the following
2.5 +copyright/license.
2.6 +
2.7 +Copyright (C) 2003-2008 Egervary Jeno Kombinatorikus Optimalizalasi
2.8 +Kutatocsoport (Egervary Combinatorial Optimization Research Group,
2.9 +EGRES).
2.10 +
2.11 +Permission is hereby granted, free of charge, to any person or organization
2.12 +obtaining a copy of the software and accompanying documentation covered by
2.13 +this license (the "Software") to use, reproduce, display, distribute,
2.14 +execute, and transmit the Software, and to prepare derivative works of the
2.15 +Software, and to permit third-parties to whom the Software is furnished to
2.16 +do so, all subject to the following:
2.17 +
2.18 +The copyright notices in the Software and this entire statement, including
2.19 +the above license grant, this restriction and the following disclaimer,
2.20 +must be included in all copies of the Software, in whole or in part, and
2.21 +all derivative works of the Software, unless such copies or derivative
2.22 +works are solely in the form of machine-executable object code generated by
2.23 +a source language processor.
2.24 +
2.25 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2.26 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2.27 +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
2.28 +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
2.29 +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
2.30 +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2.31 +DEALINGS IN THE SOFTWARE.
2.32 +
2.33 +===========================================================================
2.34 +This license is a verbatim copy of the Boost Software License, Version 1.0.
2.35 +
2.36 +
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/getting_started.dox Sat Oct 11 13:13:09 2008 +0200
3.3 @@ -0,0 +1,160 @@
3.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
3.5 + *
3.6 + * This file is a part of LEMON, a generic C++ optimization library.
3.7 + *
3.8 + * Copyright (C) 2003-2008
3.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
3.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
3.11 + *
3.12 + * Permission to use, modify and distribute this software is granted
3.13 + * provided that this copyright notice appears in all copies. For
3.14 + * precise terms see the accompanying LICENSE file.
3.15 + *
3.16 + * This software is provided "AS IS" with no warranty of any kind,
3.17 + * express or implied, and with no claim as to its suitability for any
3.18 + * purpose.
3.19 + *
3.20 + */
3.21 +
3.22 +/**
3.23 +\page getting_started How to Start Using LEMON
3.24 +
3.25 +In this page we detail how to start using LEMON, from downloading it to
3.26 +your computer, through the steps of installation, to showing a simple
3.27 +"Hello World" type program that already uses LEMON. We assume that you
3.28 +have a basic knowledge of your operating system and C++ programming
3.29 +language. The procedure is pretty straightforward, but if you have any
3.30 +difficulties don't hesitate to
3.31 +<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
3.32 +
3.33 +\section requirements_lemon Hardware and Software Requirements
3.34 +
3.35 +In LEMON we use C++ templates heavily, thus compilation takes a
3.36 +considerable amount of time and memory. So some decent box would be
3.37 +advantageous. But otherwise there are no special hardware requirements.
3.38 +
3.39 +You will need a recent C++ compiler. Our primary target is the GNU C++
3.40 +Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
3.41 +Compiler (icc) and Microsoft Visual C++ .NET 2003, 2005.
3.42 +If you want to develop with LEMON under Windows you could consider
3.43 +using Cygwin.
3.44 +
3.45 +In this description we will suppose a Linux environment and GNU C++ Compiler.
3.46 +
3.47 +\subsection requirements_lp LP Solver Requirements
3.48 +
3.49 +The LEMON LP solver interface can use the GLPK (GNU Linear Programming
3.50 +Kit), CPLEX (was tested with CPLEX 7.5) and SoPlex solver. If you want
3.51 +to use it you will need at least one of these. See \ref configure_flags
3.52 +how to enable these at compile time.
3.53 +
3.54 +\section download_lemon How to Download LEMON
3.55 +
3.56 +You can download LEMON from the LEMON web site:
3.57 +<a href="http://lemon.cs.elte.hu/">https://lemon.cs.elte.hu/</a>.
3.58 +There you will find released versions in form of <tt>.tar.gz</tt> files.
3.59 +If you want a developer version (for example you want to contribute in
3.60 +developing the library LEMON) then you might want to use our Mercurial
3.61 +repository. This case is detailed later, so from now on we suppose that
3.62 +you downloaded a <tt>.tar.gz</tt> file.
3.63 +
3.64 +\section install_lemon How to Install LEMON
3.65 +
3.66 +In order to install LEMON you have to do the following steps.
3.67 +
3.68 +Download the tarball (named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c y
3.69 +and \c z are numbers indicating the version of the library, in our example
3.70 +we will have <tt>lemon-1.0.tar.gz</tt>) and issue the following commands:
3.71 +
3.72 +\verbatim
3.73 +tar xvzf lemon-1.0.tar.gz
3.74 +cd lemon-1.0
3.75 +./configure
3.76 +make
3.77 +make check # This is optional, but recommended. It runs a bunch of tests.
3.78 +make install
3.79 +\endverbatim
3.80 +
3.81 +These commands install LEMON under \c /usr/local (you will
3.82 +need root privileges to be able to install to that
3.83 +directory). If you want to install it to some other place, then
3.84 +pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
3.85 +
3.86 +\verbatim
3.87 +./configure --prefix=/home/username/lemon
3.88 +\endverbatim
3.89 +
3.90 +In what follows we will assume that you were able to install to directory
3.91 +\c /usr/local, otherwise some extra care is to be taken to use the library.
3.92 +
3.93 +We briefly explain these commands below.
3.94 +
3.95 +\verbatim
3.96 +tar xvzf lemon-1.0.tar.gz
3.97 +\endverbatim
3.98 +This command untars the <tt>tar.gz</tt> file into a directory named
3.99 +<tt>lemon-1.0</tt>.
3.100 +
3.101 +\verbatim
3.102 +cd lemon-1.0
3.103 +\endverbatim
3.104 +This command enters the directory.
3.105 +
3.106 +\verbatim
3.107 +./configure
3.108 +\endverbatim
3.109 +This command runs the configure shell script, which does some checks and
3.110 +creates the makefiles.
3.111 +
3.112 +\verbatim
3.113 +make
3.114 +\endverbatim
3.115 +This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
3.116 +file. It also compiles the programs in the tools and demo subdirectories
3.117 +when enabled.
3.118 +
3.119 +\verbatim
3.120 +make check
3.121 +\endverbatim
3.122 +This step is optional, but recommended. It runs the test programs that
3.123 +we developed for LEMON to check whether the library works properly on
3.124 +your platform.
3.125 +
3.126 +\verbatim
3.127 +make install
3.128 +\endverbatim
3.129 +This command will copy the directory structure to its final destination
3.130 +(e.g. to \c /usr/local) so that your system can access it.
3.131 +This command should be issued as "root", unless you provided a
3.132 +\c --prefix switch to the \c configure to install the library in
3.133 +non-default location.
3.134 +
3.135 +Several other configure flags can be passed to <tt>./configure</tt>.
3.136 +For more information see <tt>./configure --help</tt> and the INSTALL
3.137 +file in the install directory.
3.138 +
3.139 +\section hg_checkout How to Checkout LEMON from our Mercurial Repository
3.140 +
3.141 +You can obtain the latest version of LEMON from our Mercurial repository.
3.142 +To do this issue the following command:
3.143 +\verbatim
3.144 +hg clone http://lemon.cs.elte.hu/hg/lemon lemon-src
3.145 +\endverbatim
3.146 +
3.147 +\section hg_compile How to Compile the Source from the Repository
3.148 +
3.149 +You can compile the code from the repository similarly to the packaged
3.150 +version, but you will need to run <b><tt>autoreconf -vif</tt></b> or
3.151 +<b><tt>./bootstrap</tt></b> in some older environment before
3.152 +<tt>./configure</tt>. See <tt>./configure --help</tt> for options.
3.153 +For bootstrapping you will need the following tools:
3.154 +
3.155 + - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
3.156 + - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
3.157 + - <a href="http://www.gnu.org/software/libtool/">libtool</a>
3.158 + - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
3.159 +
3.160 +To generate the documentation, run <tt>make html</tt>.
3.161 +You will need <a href="http://www.doxygen.org/">Doxygen</a> for this.
3.162 +
3.163 +*/
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/intro.dox Sat Oct 11 13:13:09 2008 +0200
4.3 @@ -0,0 +1,45 @@
4.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
4.5 + *
4.6 + * This file is a part of LEMON, a generic C++ optimization library.
4.7 + *
4.8 + * Copyright (C) 2003-2008
4.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
4.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
4.11 + *
4.12 + * Permission to use, modify and distribute this software is granted
4.13 + * provided that this copyright notice appears in all copies. For
4.14 + * precise terms see the accompanying LICENSE file.
4.15 + *
4.16 + * This software is provided "AS IS" with no warranty of any kind,
4.17 + * express or implied, and with no claim as to its suitability for any
4.18 + * purpose.
4.19 + *
4.20 + */
4.21 +
4.22 +/**
4.23 +\page intro Introduction
4.24 +
4.25 +\section intro_lemon What is LEMON
4.26 +
4.27 +LEMON stands for <b>L</b>ibrary of <b>E</b>fficient <b>M</b>odels and
4.28 +<b>O</b>ptimization in <b>N</b>etworks. It is a C++ template
4.29 +library aimed at combinatorial optimization tasks which often involve
4.30 +in working with graphs.
4.31 +
4.32 +<b>LEMON is an <a class="el" href="http://opensource.org/">open source</a>
4.33 +project.
4.34 +You are free to use it in your commercial or non-commercial applications
4.35 +under very permissive \ref license "license terms".
4.36 +</b>
4.37 +
4.38 +\section intro_tutorial LEMON Tutorial
4.39 +
4.40 +This tutorial introduces the reader to the basic concepts and features of
4.41 +LEMON, and there are some sections about advanced topics showing the power
4.42 +of the various tools implemented in the library.
4.43 +
4.44 +After getting familiar with the basic concepts you may start using LEMON
4.45 +with the help of the detailed documentation (that can also be used as a
4.46 +reference manual).
4.47 +
4.48 +*/
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/license.dox Sat Oct 11 13:13:09 2008 +0200
5.3 @@ -0,0 +1,25 @@
5.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
5.5 + *
5.6 + * This file is a part of LEMON, a generic C++ optimization library.
5.7 + *
5.8 + * Copyright (C) 2003-2008
5.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
5.11 + *
5.12 + * Permission to use, modify and distribute this software is granted
5.13 + * provided that this copyright notice appears in all copies. For
5.14 + * precise terms see the accompanying LICENSE file.
5.15 + *
5.16 + * This software is provided "AS IS" with no warranty of any kind,
5.17 + * express or implied, and with no claim as to its suitability for any
5.18 + * purpose.
5.19 + *
5.20 + */
5.21 +
5.22 +/**
5.23 +
5.24 +\page license License Terms
5.25 +
5.26 +\verbinclude ./LICENSE
5.27 +
5.28 +*/
6.1 --- a/mainpage.dox Sat Oct 11 11:29:12 2008 +0200
6.2 +++ b/mainpage.dox Sat Oct 11 13:13:09 2008 +0200
6.3 @@ -20,7 +20,7 @@
6.4 /**
6.5 \mainpage LEMON Tutorial
6.6
6.7 -<h2>Table of Contents</h2>
6.8 +\section toc Table of Contents
6.9
6.10 <ol>
6.11 <li>\ref intro "Introduction"</li>