%===========================================================================%
%                                                                           %
% This file is part of the documentation for the SYMPHONY MILP Solver.      %
%                                                                           %
% SYMPHONY was jointly developed by Ted Ralphs (ted@lehigh.edu) and         %
% Laci Ladanyi (ladanyi@us.ibm.com).                                        %
%                                                                           %
% (c) Copyright 2000-2023 Ted Ralphs. All Rights Reserved.                  %
%                                                                           %
% SYMPHONY is licensed under the Eclipse Public License. Please see         %
% accompanying file for terms.                                              %
%                                                                           %
%===========================================================================%

\documentclass[twoside,11pt]{book}

\usepackage{html}

%\usepackage[colorlinks]{hyperref}
%\hypersetup{
%  linkcolor=blue,
%}

\oddsidemargin 0in
\evensidemargin 0in
\topmargin 0in
\textwidth 6.5in
\newlength{\headwidth}
\setlength{\headwidth}{\textwidth}
\addtolength{\headwidth}{-4.4444pt}
\textheight 8.7in
\setcounter{secnumdepth}{3}

\catcode`\@=11\relax   %allow @ in macro names

%\begin{latexonly}
\if@twoside         % If two-sided printing.
\def\ps@headings{\let\@mkboth\markboth
\def\@oddfoot{}\def\@evenfoot{}%       No feet.
\def\@evenhead{
\begin{tabular}{@{}c@{}}
\hspace*{\headwidth} \\[-3ex]
\rm \thepage  \hfill  \sl \leftmark \\
\hline
\end{tabular}
} % Left heading.
\def\@oddhead{
%{\flushleft \sl \rightmark}
%\vspace*{-1ex}
%{\flushright \rm \thepage}
%\vspace*{-1ex}
%{\flushleft \underline{\hspace*{\headwidth}}}
\begin{tabular}{@{}c@{}}
\hspace*{\headwidth} \\[-3ex]
\sl \rightmark \hfill \rm \thepage \\
\hline
\end{tabular}
} % Right heading.
\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@
    \thesection\hskip 1em\relax \fi ##1}}{}}%
\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne
          \thesubsection\hskip 1em\relax \fi ##1}}}%
\else               % If one-sided printing.
\def\ps@headings{\let\@mkboth\markboth
\def\@oddfoot{}\def\@evenfoot{}%     No feet.
\def\@oddhead{
\begin{tabular}{@{}c@{}}
\hspace*{\headwidth} \\[-3ex]
\sl \rightmark \hfill \rm \thepage \\
\hline
\end{tabular}
} % Heading.
\def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@
    \thesection\hskip 1em\relax \fi ##1}}}}
\fi
%\end{latexonly}

\catcode`\@=12\relax   %disable @ in macro names

\pagestyle{headings}

\markright{\bf \thesection}{}

%\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{fullpage}
\usepackage{easyeqn}
\usepackage{fancyvrb}
\usepackage{listings}
\usepackage{url}
\usepackage[latin1]{inputenc}
%\begin{latexonly}
\usepackage[dvipsnames]{xcolor}
\usepackage{splitidx}
\makeindex
\newindex[Index of C API Functions]{f}
\newindex[Index of User Callback API Functions]{cf}
\newindex[Index of Parameters]{p}
\newcommand{\mysindex}[2]{\sindex[#1]{#2}}
%\end{latexonly}
\begin{htmlonly}
\usepackage{xcolor}
\newcommand{\mysindex}[2]{}
\end{htmlonly}

\def\GP{{Global Parameters}}
\def\DP{{Draw Graph Parameters}}
\def\MP{{Master Module Parameters}}
\def\TP{{Tree Manager Parameters}}
\def\LPP{{LP Parameters}}
\def\CP{{Cut Pool Parameters}}
\def\CGP{{Cut Generator Parameters}}
\def\VER{{5.7.2}}
%\begin{latexonly}
\lstloadlanguages{C++}
%\end{latexonly}

\newcommand{\be}{\begin{enumerate}}
\newcommand{\ee}{\end{enumerate}}
\newcommand{\bc}{\begin{center}}
\newcommand{\ec}{\end{center}}
\newcommand{\bt}{\begin{tabular}}
\newcommand{\et}{\end{tabular}}
\newcommand{\bd}{\begin{description}}
\newcommand{\ed}{\end{description}}
\newcommand{\bi}{\begin{itemize}}
\newcommand{\ei}{\end{itemize}}
\newcommand{\bv}{\begin{verbatim}}
\newcommand{\ev}{\end{verbatim}}
\newcommand{\functiondef}[1]{\subsubsection{#1}}
\newcommand{\firstfuncdef}[1]{\subsubsection{#1}}
\newcommand{\code}[1]{{\color{brown}\texttt{#1}}}
%begin{latexonly}
\renewcommand{\functiondef}[1]{\newpage \item[\Large $\triangleright$] 
{\color{red}{\bf
\Large #1}}}
\renewcommand{\firstfuncdef}[1]{\item[\Large $\triangleright$] 
{\color{red}{\bf 
\Large #1}}}
%end{latexonly}
\newcommand{\describe}{\item[{\color{cyan}Description:}] \hfill}
\newcommand{\args}{\item[{\color{brown}Arguments:}] \hfill}
\newcommand{\returns}{\item[{\color{green}Return values:}] \hfill}
\newcommand{\postp}{\item[Post-processing:] \hfill}
\newcommand{\nopostp}{\item[Post-processing:] None \hfill}

\newcommand{\BB}{{\sc SYMPHONY}}
\newcommand{\TM}{{\sc TreeManager}}
\newcommand{\LP}{{\sc LP}}
\newcommand{\ra}{$\rightarrow$}
\newcommand{\vmin}{\mathop{\text{vmin}}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\renewcommand{\Re}{\mathbb{R}}
%\begin{latexonly}
\newcommand{\ptt}[1]{{\tt {\color{BrickRed} #1}}}
%\end{latexonly}
\begin{htmlonly}
\newcommand{\ptt}[1]{{\tt {\color{red} #1}}}
\end{htmlonly}
\newcommand{\bs}{{$\backslash$}}

%\htmladdtonavigation{\htmladdnormallink 
%       {\htmladdimg{contents_motif.gif}}{man.html}}

\setlength{\parindent}{0in}
\setlength{\parskip}{0.1in}


\begin{document}

%
%\ \\
%\vspace*{.5in}

\frontmatter
\begin{rawhtml} <H1 ALIGN="CENTER"> 
\end{rawhtml}
\title{\huge {\bf \BB\ \VER\  User's Manual} \thanks{This research was
    partially supported by NSF Grants CMMI-1435453, CMMI-0728011, DMI-0522796,
    DMI-0534862, DMS-9527124, CMMI-1130914, and Texas ATP Grant 97-3604-010. A revised version of Chapters
\ref{SYMPHONY-design} of this manual now appears
in the Springer-Verlag book {\em Computational Combinatorial Optimization}
edited by M. J\"unger and D. Naddef, see \url{
http://link.springer.de/link/service/series/0558/tocs/t2241.htm}}
%begin{latexonly}
\vskip 1.7in
\LARGE 
\vskip .2in
T.K. Ralphs\thanks{Department of Industrial and
Systems Engineering, Lehigh University, Bethlehem, PA 18017, {\tt 
\htmladdnormallink{ted@lehigh.edu}{mailto:ted@lehigh.edu}}, 
{\tt \url{http://coral.ielehigh.edu/\~ted}}} \\
M. G\"uzelsoy\thanks{SAS Institute, Cary, NC {\tt
  \htmladdnormallink{mguzelsoy@gmail.com}{mailto:mguzelsoy@gmail.com}}} \\
A. Mahajan\thanks{Department of Industrial Engineering and Operations Research,
  IIT Bombay, India {\tt \htmladdnormallink{amahajan@iitb.ac.in}{mailto:amahajaniitb.ac.in
}}, {\tt \url{http://www.ieor.iitb.ac.in/amahajan}}} \\
%\vskip .5in
%Interactive Graph Drawing \\
%Software By \\
%\vskip .2in
%M. Es\"o\thanks{Department of Mathematical Sciences, 
%IBM T.J. Watson Research Center, Yorktown Heights,
%NY 10598}
%\vskip .5in
%end{latexonly}
}
\maketitle
\begin{rawhtml} </H1> 
\end{rawhtml}
\begin{htmlonly}
\begin{center}
{\LARGE 
\vskip 2.2in
\begin{rawhtml} 
<P ALIGN="CENTER"> <STRONG> <FONT SIZE="4">
<a href="http://coral.ie.lehigh.edu/~ted">T.K. Ralphs</a> <BR>
M. Güzelsoy <BR>
<a href="http://www.ieor.iitb.ac.in/amahajan">A. Mahajan </a> <BR>
</P> </FONT> </STRONG> 
\end{rawhtml}
%\vskip .5in
%\begin{rawhtml} <P ALIGN="CENTER"> <STRONG> <FONT SIZE="4">
%\end{rawhtml}
%Interactive Graph Drawing \\
%Software By \\
%\vskip .2in
%M. Es\"o}
%\begin{rawhtml} </P> </FONT> </STRONG> 
%\end{rawhtml}
\begin{rawhtml} <P ALIGN="CENTER"> <STRONG> <FONT SIZE="3">
PDF version available <A
HREF="https://coin-or.github.io/SYMPHONY/doc/SYMPHONY-5.7.2-Manual.pdf">here</A>
</FONT></STRONG></P>
\end{rawhtml}
\begin{rawhtml} </P> </FONT> </STRONG> 
\end{rawhtml}
\begin{rawhtml} <P ALIGN="CENTER"> <STRONG> <FONT SIZE="3">
A revised version of Chapter 4
of this manual appears in the Springer-Verlag book
<br> <i><a
href="http://link.springer.de/link/service/series/0558/tocs/t2241.htm">
Computational Combinatorial Optimization </i></a> edited by M. Jünger and
D. Naddef.  </FONT></STRONG></P>
\end{rawhtml}

\end{center}
\end{htmlonly}

\newpage

\thispagestyle{empty}

\ \\
%begin{latexonly}
\vspace*{3in}
%end{latexonly}
\begin{rawhtml} <P ALIGN="CENTER"> <STRONG> 
\end{rawhtml}
\begin{center}
{\copyright 2000-2023 Ted Ralphs}
\end{center}
\begin{rawhtml} </P> </STRONG> 
\end{rawhtml}
\begin{rawhtml} <HR>
\end{rawhtml}

\newpage

\thispagestyle{empty}

%begin{latexonly}
\vspace*{1in}
%end{latexonly}
\begin{rawhtml} <P ALIGN="CENTER"> <STRONG> 
\end{rawhtml}
\begin{center}
\textbf{\large Acknowledgments}
\end{center}
\begin{rawhtml} </P> </STRONG> 
\end{rawhtml}
\begin{rawhtml} <P> <FONT SIZE="2"> 
\end{rawhtml}
Many thanks are due to Laci Lad\'anyi who worked with me on the development of
a very early precursor of SYMPHONY called COMPSys many years ago now and who
taught me much of what I then knew about programming. Thanks are due also to
Marta Es\"o, who wrote an early draft of this manual for what was then
COMPSys. Since those early days, many of my Ph.D students have worked on
SYMPHONY and made substantial contributions. Menal G\"uzelsoy was instrumental
in the development of SYMPHONY since version 4.0 and Ashutosh Mahajan, who has
worked on SYMPHONY since version 5.0. In particular, Ashutosh and Menal did
all of the work that went into improving SYMPHONY for release 5.2. I would
also like to thank Matthew Galati and Ondrej Medek, who contributed to the
development of SYMPHONY over the years, as well as Anahita Hassanzadeh and
Suresh Bolusani. Finally, my sincere appreciation goes to Leslie Trotter,
William Cook, Cornell University, Rice University, Lehigh University, the
National Science Foundation, and the state of Texas, all of whom have
supported the development of SYMPHONY over the past almost three decades.
\begin{rawhtml} </P> </FONT> 
\end{rawhtml}

%begin{latexonly}
\newpage

\thispagestyle{empty}

%end{latexonly}
\newpage

\tableofcontents

\newpage

\mainmatter

%\setcounter{page}{1}

\chapter{Introduction}
\input{man-intro}

\chapter{Installing SYMPHONY}
\label{getting_started}
\input{man-start}

\chapter{Using SYMPHONY}
\label{API-overview}
\input{man-API}

\chapter{Technical Details}
\label{SYMPHONY-design}
\input{man-design}

\chapter{Developing Custom Applications}
\label{SYMPHONY-development}
\input{man-SYMPHONY}

\chapter{Reference}
\label{SYMPHONY-reference}

\section{Callable Library C API}
\label{callable-library}
\input{man-callable}

\section{User Callback API}
\label{API}
\sloppy
\input{man-tm}

\newpage

\input{man-lp}

\newpage

\input{man-cg}

\newpage

\input{man-cp}

\newpage

\input{man-dg}

\newpage

\section{Run-time Parameters}
\label{params}
\input{man-param}

%\newpage

%\section{Bibliography}

\backmatter

%\begin{latexonly}
\cleardoublepage
\phantomsection
%\end{latexonly}
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{plain}
\bibliography{/mnt/c/Users/tkral/Documents/Ref/BibFiles/SYMPHONY/bib}

%\input{biblio}

%\newpage
%\section{Constant Names}

%\input{man-consts}

%\begin{latexonly}
\cleardoublepage
\phantomsection
%\refstepcounter{chapter}
\addcontentsline{toc}{chapter}{Index}
\printindex*
%\end{latexonly}

\end{document}
