Skip to content

Commit

Permalink
added text on optima and on bounds of the objective function
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasWeise committed Dec 17, 2023
1 parent d62af88 commit d9f5c41
Show file tree
Hide file tree
Showing 23 changed files with 508 additions and 29 deletions.
129 changes: 127 additions & 2 deletions bibliography/bibliography.bib
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,24 @@ @string { winter
%%authors
@string { a_aaronson_scott = "Scott Aaronson" }
@string { a_aarts_emile_h_l = "Emile H.\ L.\ Aarts" }
@string { a_adams_joseph = "Joseph Adams" }
@string { a_applegate_david_lee = "David Lee Applegate" }
@string { a_arantes_leonardo = "Leonardo Arantes" }
@string { a_bachem_achim = "Achim Bachem" }
@string { a_bachmann_paul_gustav_heinrich = "Paul Gustav Heinrich Bachmann" }
@string { a_bai_ruibin = "Ruibin Bai" }
@string { a_balas_egon = "Egon Balas" }
@string { a_brabazon_anthony = "Anthony Brabazon" }
@string { a_banerji_ranan_b = "Ranan B.\ Banerji" }
@string { a_beasley_john_edward = "John Edward Beasley" }
@string { a_beckmann_martin = "Martin Beckmann" }
@string { a_bernaden_john = "John Bernaden" }
@string { a_bixby_robert_e = "Robert E.\ Bixby" }
@string { a_blazewicz_jacek = "Jacek B{\l}a{\.z}ewicz" }
@string { a_bohlinger_jean_d = "Jean D.\ Bohlinger" }
@string { a_brabazon_anthony = "Anthony Brabazon" }
@string { a_bronstein_alexander_m = "Alexander M.\ Bronstein" }
@string { a_bronstein_michael_m = "Michael M.\ Bronstein" }
@string { a_bui_tung_x = "Tung X.\ Bui" }
@string { a_burkard_rainer_e = "Rainer E.\ Burkard" }
@string { a_cagnoni_stefano = "Stefano Cagnoni" }
Expand All @@ -44,6 +48,7 @@ @string { a_coffman_edward_g
@string { a_cook_stephen_arthur = "Stephen Arthur Cook" }
@string { a_cook_william_john = "William John Cook" }
@string { a_davis_jim = "Jim Davis" }
@string { a_de_causmaecker_patrick = "Patrick {De Causmaecker}" }
@string { a_delorme_maxence = "Maxence Delorme" }
@string { a_demirkol_ebru = "Ebru Demirkol" }
@string { a_dhakal_sandeep = "Sandeep Dhakal" }
Expand All @@ -63,12 +68,14 @@ @string { a_fogel_david_b
@string { a_friedrich_tobias = "Tobias Friedrich" }
@string { a_garey_michael_r = "Michael R.\ Garey" }
@string { a_geihs_kurt = "Kurt Geihs" }
@string { a_gharbi_anis = "Anis Gharbi" }
@string { a_giacobini_mario = "Mario Giacobini" }
@string { a_gonzalez_arce_teofilo_francisco = "Teofilo Francisco {Gonzalez Arce}" }
@string { a_gorldt_christian = "Christian Gorldt" }
@string { a_goycoolea_marcos = "Marcos Goycoolea" }
@string { a_graham_ronald_lewis = "Ronald Lewis Graham" }
@string { a_graves_stephen_c = "Stephen C.\ Graves" }
@string { a_grendrau_michel = "Michel Gendreau" }
@string { a_groetschel_martin = "Martin Gr{\"o}tschel" }
@string { a_gutin_gregory_z = "Gregory Z.\ Gutin" }
@string { a_hammer_peter_l = "Peter L.\ Hammer" }
Expand All @@ -78,31 +85,39 @@ @string { a_henning_andre
@string { a_hermann_mario = "Mario Hermann" }
@string { a_iori_manuel = "Manuel Iori" }
@string { a_jain_anant_singh = "Anant Singh Jain" }
@string { a_john_robert_i = "Robert I.\ John" }
@string { a_johnson_david_stiffler = "David Stifler Johnson" }
@string { a_johnson_e_l = "E.\ L.\ Johnson" }
@string { a_johnson_selmer_martin = "Selmer Martin Johnson" }
@string { a_juenger_michael = "Michael J{\"u}nger" }
@string { a_karp_richard_m = "Richard M.\ Karp" }
@string { a_kendall_graham = "Graham Kendall" }
@string { a_klein_robert = "Robert Klein" }
@string { a_kimmel_ron = "Ron Kimmel" }
@string { a_kobayashi_shigenobu = "Shigenobu Kobayashi" }
@string { a_koopmans_tjalling_charles = "Tjalling Charles Koopmans" }
@string { a_korte_bernhard_h = "Bernhard H.\ Korte" }
@string { a_labidi_mohamed = "Mohamed Labidi" }
@string { a_laborie_philippe = "Philippe Laborie" }
@string { a_landau_edmund = "Edmund Landau" }
@string { a_lawler_eugene_leighhton = "Eugene Leighton Lawler" }
@string { a_lawrence_stephen_r = "Stephen R.\ Lawrence" }
@string { a_lenstra_jan_karel = "Jan Karel Lenstra" }
@string { a_li_jiawei = "Jiawei Li" }
@string { a_liu_weichen = "Weichen Liu" }
@string { a_liu_zhen = "Zhen Liu" }
@string { a_lodi_anrea = "Andrea Lodi" }
@string { a_machado_penousal = "Penousal Machado" }
@string { a_manderick_bernard = "Bernard Manderick" }
@string { a_manner_reinhard = "Reinhard M{\"a}nner" }
@string { a_martello_silvano = "Silvano Martello" }
@string { a_mccollum_barry = "Barry {McCollum}" }
@string { a_mccormack_jon = "Jon {McCormack}" }
@string { a_meeran_sheik = "Sheik Meeran" }
@string { a_mehta_sanjay_v = "Sanjay V.\ Mehta" }
@string { a_michalewicz_matthew = "Matthew Michalewicz" }
@string { a_michalewicz_zbigniew = "Zbigniew Michalewicz" }
@string { a_michel_laurent = "Laurent Michel" }
@string { a_miller_raymond_e = "Raymond E.\ Miller" }
@string { a_monaci_michele = "Michele Monaci" }
@string { a_muth_john_f = "John F.\ Muth" }
Expand All @@ -122,13 +137,16 @@ @string { a_porter_james
@string { a_potts_chris_n = "Chris N.\ Potts" }
@string { a_preuss_mike = "Mike Preu{\ss}" }
@string { a_punnen_abraham_p = "Abraham P.\ Punnen" }
@string { a_qu_rong = "Rong Qu" }
@string { a_reinelt_gerhard = "Gerhard Reinelt" }
@string { a_reinhard_kai = "Kai Reinhard" }
@string { a_rinnooy_kan_a_h_k = "Alexander Hendrik George {Rinnooy Kan}" }
@string { a_rothlauf_franz = "Franz Rothlauf" }
@string { a_sabar_nasser = "Nasser Sabar" }
@string { a_sahni_sartaj = "Sartaj Sahni" }
@string { a_sarli_michael = "Michael Sarli" }
@string { a_scheithauer_guntram = "Guntram Scheithauer" }
@string { a_shaw_paul = "Paul Shaw" }
@string { a_shmoys_david_b = "David B.\ Shmoys" }
@string { a_shylo_oleg_v = "Oleg V.\ Shylo" }
@string { a_sprague_jr_ralph_h = "Ralph H.\ {Sprague Jr.}" }
Expand All @@ -143,7 +161,10 @@ @string { a_toth_paolo
@string { a_ullman_jeffrey_d = "Jeffrey D.\ Ullman" }
@string { a_uzsoy_reha = "Reha Uzsoy" }
@string { a_vaccari_renzo = "Renzo Vaccari" }
@string { a_vaessens_rob_j_m = "Rob J.\ M.\ Vaessens" }
@string { a_van_hoorn_jelke_jeron = "Jelke Jeroen {van Hoorn}" }
@string { a_vanden_berghe_greet = "Greet {Vanden Berghe}" }
@string { a_vilim_petr = "Petr Vil{\'i}m" }
@string { a_weise_thomas = "Thomas Weise" }
@string { a_whitley_l_darrell = "L.\ Darrell Whitley" }
@string { a_wilson_james_m = "James M.\ Wilson" }
Expand All @@ -152,6 +173,7 @@ @string { a_wu_david_s
@string { a_wu_yuezhong = "Yuezhong Wu" }
@string { a_yamada_takeshi = "Takeshi Yamada" }
@string { a_yang_shengxiang = "Shengxiang Yang" }
@string { a_yee_angelina = "Angelina Yee" }
@string { a_zawack_daniel = "Daniel Zawack" }
@string { a_zipkin_paul_h = "Paul H.\ Zipkin" }

Expand Down Expand Up @@ -180,8 +202,10 @@ @string { p_springer_nature_america
@string { p_springer_nature_switzerland = "{Springer Nature America {AG}}" }
@string { p_springer_new_york = "{Springer}" }
@string { p_springer_science_business_media = "{Springer Science+Business Media, {LLC}}" }
@string { p_springer_switzerland = "{Springer}" }
@string { p_springer_verlag_gmbh = "{Springer-Verlag {GmbH}}" }
@string { p_taylor_and_francis = "{Taylor and Francis Ltd.}" }
@string { p_technion_cs = "{Technion {--} Israel Institute of Technology}, {Computer Science Department}" }
@string { p_teubner_b_g = "{B.\ G.\ Teubner}" }
@string { p_university_of_applied_sciences_western_switzerland = "{University of Applied Sciences of Western Switzerland}" }
@string { p_university_of_waterloo_dco = "{University of Waterloo, Department of Combinatorics and Optimization}" }
Expand All @@ -200,7 +224,9 @@ @string { l_germany_heidelberg
@string { l_germany_jena = "{{Jena}, {Th{\"u}ringen}, {Germany}}" }
@string { l_germany_leipzig = "{{Leipzig}, {Sachsen}, {Germany}}" }
@string { l_germany_tubingen = "{{T{\"u}bingen}, {Baden-W{\"u}rttemberg}, {Germany}}" }
@string { l_israel_haifa = "{Israel}, {Haifa}" }
@string { l_netherlands_amsterdam = "{{Amsterdam}, {The Netherlands}}" }
@string { l_spain_barcelona = "{{Barcelona}, {Spain}}" }
@string { l_switzerland_cham = "{{Cham}, {Switzerland}}" }
@string { l_switzerland_yverdon = "{{Yverdon}, {Switzerland}}" }
@string { l_usa_atlanta = "{{Atlanta}, {GA}, {USA}}" }
Expand Down Expand Up @@ -246,8 +272,10 @@ @string { pa_springer_nature_america
@string { pa_springer_nature_switzerland = l_switzerland_cham }
@string { pa_springer_new_york = l_usa_new_york }
@string { pa_springer_science_business_media = l_switzerland_cham }
@string { pa_springer_switzerland = l_switzerland_cham }
@string { pa_springer_verlag_gmbh = "{{Berlin/Heidelberg}, {Germany}}" }
@string { pa_taylor_and_francis = l_uk_london }
@string { pa_technion_cs = l_israel_haifa }
@string { pa_teubner_b_g = l_germany_leipzig }
@string { pa_university_of_applied_sciences_western_switzerland = l_switzerland_yverdon }
@string { pa_university_of_waterloo_dco = l_canada_waterloo }
Expand Down Expand Up @@ -280,6 +308,13 @@ @xdata{j_ejor
address = pa_elsevier
}

@xdata{j_enidm,
journal = {Electronic Notes in Discrete Mathematics},
issn = {1571-0653},
publisher = p_elsevier,
address = pa_elsevier
}

@xdata{j_ijoc,
journal = {{{INFORMS} Journal on Computing}},
issn = {1091-9856},
Expand Down Expand Up @@ -413,6 +448,21 @@ @xdata{ser_lncs
issn = {0302-9743},
}

@xdata{ser_lntcs,
series = {Theoretical Computer Science and General Issues ({LNTCS}), sub-series of Lecture Notes in Computer Science ({LNCS})},
xdata = {ser_lncs},
issn = {2512-2010},
publisher = p_springer_switzerland,
address = pa_springer_switzerland
}

@xdata{ser_mics,
series = {Monographs in Computer Science},
publisher = p_springer_new_york,
address = pa_springer_new_york,
issn = {0172-603X}
}

@xdata{ser_orcsis,
series = {Operations Research/Computer Science Interfaces Series},
publisher = p_springer_new_york,
Expand Down Expand Up @@ -519,6 +569,27 @@ @article{B1990OLDTPBEM
doi = {10.1057/jors.1990.166}
}

@incollection{BB2009NO,
author = a_bronstein_alexander_m # { and } # a_bronstein_michael_m,
title = {Numerical Optimization},
booktitle = {Project {TOSCA} {--} Tools for Non-Rigid Shape Comparison and Analysis},
publisher = p_technion_cs,
address = pa_technion_cs,
date = {2009-01-25},
url = {https://tosca.cs.technion.ac.il/book/slides/Stanford09_optimization.ppt},
urldate = {2023-12-16},
addendum = {Slides related to the book \citetitle{BBK2008NGONRS}~\cite{BBK2008NGONRS}}
}

@book{BBK2008NGONRS,
author = a_bronstein_alexander_m # { and } # a_bronstein_michael_m # { and } # a_kimmel_ron,
title = {Numerical Geometry of Non-Rigid Shapes},
xdata = {ser_mics},
date = {2008-09},
doi = {10.1007/978-0-387-73301-2},
isbn = {978-0-387-73300-5}
}

@incollection{BCPP1998TQAP,
author = a_burkard_rainer_e # { and } # a_cela_eranda # { and } # a_pardalos_panos_m # { and } # a_pitsoulis_leonidas_s,
title = {The Quadratic Assignment Problem},
Expand Down Expand Up @@ -691,6 +762,16 @@ @article{GJR1991OCOPADMACS
doi = {10.1007/BF01415960},
}

@article{GL2010ETSMBRSFTJSSP,
author = a_gharbi_anis # { and } # a_labidi_mohamed,
title = {Extending the Single Machine-Based Relaxation Scheme for the Job Shop Scheduling Problem},
xdata = {j_enidm},
volume = {36},
pages = {1057--1064},
date = {2010-08},
doi = {10.1016/j.endm.2010.05.134}
}

@incollection{GLLRK1979OAAIDSASAS,
author = a_graham_ronald_lewis # { and } # a_lawler_eugene_leighhton # { and } # a_lenstra_jan_karel # { and } # a_rinnooy_kan_a_h_k,
title = {Optimization and Approximation in Deterministic Sequencing and Scheduling: {A} Survey},
Expand Down Expand Up @@ -796,11 +877,24 @@ @book{K2000SORCP
title = {Scheduling of Resource-Constrained Projects},
xdata = {ser_orcsis},
number = {10},
year = {2000},
date = {2000},
doi = {10.1007/978-1-4615-4629-0},
isbn = {978-0-7923-8637-7}
}

@article{KBBDCGJLMPQSVBY2016GLPFOR,
author = a_kendall_graham # { and } # a_bai_ruibin # { and } # a_blazewicz_jacek # { and } # a_de_causmaecker_patrick # { and } # a_grendrau_michel # { and } # a_john_robert_i # { and } # a_li_jiawei # { and } # a_mccollum_barry # { and } # a_pesch_erwin # { and } # a_qu_rong # { and } # a_sabar_nasser # { and } # a_vanden_berghe_greet # { and } # a_yee_angelina,
title = {Good Laboratory Practice for Optimization Research},
xdata = {j_jors},
date = {2016},
volume = {67},
number = {4},
pages = {676--689},
doi = {10.1057/jors.2015.77},
url = {http://www.graham-kendall.com/papers/ketal2016.pdf},
urldate = {2023-12-16}
}

@book{L1909HDLVDVDP,
author = a_landau_edmund,
title = {{Handbuch der Lehre von der Verteilung der Primzahlen}},
Expand Down Expand Up @@ -965,6 +1059,16 @@ @proceedings{PROC2009EVOWORKSHOPS
doi = {10.1007/978-3-642-01129-0}
}

@proceedings{PROC2015CPAIOR,
booktitle = {Proceedings of 12th International Conference on {AI} and {OR} Techniques in Constriant Programming for Combinatorial Optimization Problems {(CPAIOR'2015)}, } # may # {~18-22, 2015, } # l_spain_barcelona,
xdata = {ser_lntcs},
number = {9075},
date = {2015},
editor = a_michel_laurent,
doi = {10.1007/978-3-319-18008-3},
isbn = {978-3-319-18007-6}
}

@proceedings{PROC2016GECCOCompanion,
editor = a_friedrich_tobias # { and } # a_neumann_frank # { and } # a_sutton_andrew_m,
title = {Companion Material Proceedings of the Genetic and Evolutionary Computation Conference {(GECCO'16)}, } # jul # {~20-24, 2016, } # l_usa_denver,
Expand Down Expand Up @@ -1075,6 +1179,17 @@ @book{T1993SI
date = {1993}
}

@article{VAL1996JSSBLS,
author = a_vaessens_rob_j_m # { and } # a_aarts_emile_h_l # { and } # a_lenstra_jan_karel,
title = {Job Shop Scheduling by Local Search},
xdata = {j_ijoc},
volume = {8},
number = {3},
pages = {302--317},
date = {1996-22},
doi = {10.1287/ijoc.8.3.302}
}

@online{vH2015JSIAS,
author = a_van_hoorn_jelke_jeron,
title = {Job Shop Instances and Solutions},
Expand Down Expand Up @@ -1106,6 +1221,16 @@ @article{vH2018TCSOBOBIOTJSSP
doi = {10.1007/s10951-017-0547-8}
}

@inproceedings{VLS2015FDSFCBS,
author = a_vilim_petr # { and } # a_laborie_philippe # { and } # a_shaw_paul,
title = {Failure-Directed Search for Constraint-Based Scheduling},
crossref = {PROC2015CPAIOR},
pages = {437--453},
doi = {10.1007/978-3-319-18008-3_30},
url = {https://www.researchgate.net/publication/280223626},
urldate = {2023-12-17}
}

@article{W2003GCACA,
author = a_wilson_james_m,
title = {Gantt Charts: {A} Centenary Appreciation},
Expand Down
1 change: 1 addition & 0 deletions book.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
% prepare and set the book margins
\setlrmarginsandblock{3cm}{3cm}{*}%
\setulmarginsandblock{2.5cm}{2.5cm}{*}%
\setlength{\parskip}{3pt}%
\checkandfixthelayout%
%
\usepackage{styles/styles}% import our own basic styles
Expand Down
12 changes: 7 additions & 5 deletions notation/math.sty
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,20 @@
\mbox{If $f(x)={\mathcal{O}}(g(x))$,} then there exist positive numbers~$x_0\in\realNumbersP$ and~$c\in\realNumbersP$ such that~\mbox{$f(x)\leq c*g(x)\forall x\geq x_0$}~\cite{B1894DAZDVPB,L1909HDLVDVDP}. %
In other words, ${\mathcal{O}}(g(x))$~describes an upper bound for function growth.}%
%
\protected\gdef\Pprefix{\ensuremath{\mathcal{P}}}%
\protected\gdef\NPprefix{\ensuremath{\mathcal{NP}}}%
\protected\gdef\NPhard{\NPprefix-hard}%
\protected\gdef\@Pprefix{\ensuremath{\mathcal{P}}}%
\protected\gdef\@NPprefix{\ensuremath{\mathcal{NP}}}%
\newSymbol{NPhard}{\mbox{\@NPprefix\textnormal{-hard}}}{NP-hard}{Algorithms that guarantee to find the optimal solutions of \@NPprefix\nobreakdash-hard problems need a runtime that is exponential in the problem scale in the worst case.}%
%
\protected\gdef\elementOf#1#2{\ensuremath{#1.#2}}%
\protected\gdef\arrayIndex#1#2{\ensuremath{#1_{#2}}}%
\protected\gdef\subArray#1#2#3{\ensuremath{#1[\intRange{#2}{#3}]}}%
\protected\gdef\arrayIndexx#1#2#3{\ensuremath{#1_{#2,#3}}}%
\protected\gdef\arrayItemElement#1#2#3{\ensuremath{\elementOf{\arrayIndex{#1}{#2}}{#3}}}%
%
\newSymbol{lowerBound}{\ensuremath{\mathrm{lb}}}{lb}{the lower bound of a function, i.e., \ensuremath{\lowerBound(f)\leq f(x)\forall x}}%
\newSymbol{upperBound}{\ensuremath{\mathrm{ub}}}{ub}{the upper bound of a function, i.e., \ensuremath{\upperBound(f)\geq f(x)\forall x}}%
\DeclareMathOperator{\@lowerBound}{lb}%
\newFunc{lowerBound}{\ensuremath{\@lowerBound}}{lb(f(x))}{f(x)}{the lower bound of a function~$f$, i.e., \ensuremath{\@lowerBound(f)\leq f(x)\forall x}, see \autoref{def:lowerBound}}%
\DeclareMathOperator{\@upperBound}{ub}%
\newFunc{upperBound}{\ensuremath{\@upperBound}}{ub(f(x))}{f(x)}{the upper bound of a function, i.e., \ensuremath{\@upperBound(f)\geq f(x)\forall x}}%
\newSymbol{random}{\ensuremath{\mathfrak{R}}}{R}{a random number}%
%
\protected\gdef\probability{\ensuremath{P}}%
Expand Down
8 changes: 4 additions & 4 deletions notation/optimization.sty
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ A search operator $\@searchOp:\searchSpace^n\mapsto\searchSpace$ with $n\in\natu
\newSymbol{obspel}{\ensuremath{z}}{z}{%
an objective value returned by the objective function~\objf, see \autoref{def:objectiveValue}}%
%
\newSymbol{nFeasible}{\ensuremath{\#\mathrm{feasible}}}{feasible}{%
\newSymbol{nFeasible}{\ensuremath{\#\mathrm{feasible}}}{\#feasible}{%
the number of feasible solutions in the solution space~\solutionSpace, see \autoref{def:feasibility}}%
%
\protected\gdef\fitness{\ensuremath{v}}%
%
\protected\gdef\localOptimum#1{\ensuremath{#1^{\times}}}%
\protected\gdef\globalOptimum#1{\ensuremath{#1^{\star}}}%
\protected\gdef\bestSoFar#1{\ensuremath{#1_{b}}}%
\newSuperscript{localOptimum}{\ensuremath{\times}}{.*}{the superscript $\times$~symbol denotes that $\circ$ is a local optimum}%
\newSuperscript{globalOptimum}{\ensuremath{\star}}{.*}{the superscript $\star$~symbol denotes that $\circ$ is a global optimum}%
\newSubscript{bestSoFar}{\ensuremath{b}}{.b}{the subscript~$b$ denotes that $\circ$ is the best-so-far element of an optimization process}%
%
\protected\gdef\iteration{\ensuremath{\tau}}%
%
Expand Down
2 changes: 2 additions & 0 deletions scripts/pdflatex.sh
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ rm "$documentName.snm" || true
rm "$documentName.spl" || true
rm "$documentName.synctex" || true
rm "$documentName.synctex.gz" || true
rm "$documentName.thm" || true
rm "$documentName.toc" || true
rm "$documentName.upa" || true
rm "$documentName.upb" || true
Expand Down Expand Up @@ -304,6 +305,7 @@ rm "$documentName.snm" || true
rm "$documentName.spl" || true
rm "$documentName.synctex" || true
rm "$documentName.synctex.gz" || true
rm "$documentName.thm" || true
rm "$documentName.toc" || true
rm "$documentName.upa" || true
rm "$documentName.upb" || true
Expand Down
Loading

0 comments on commit d9f5c41

Please sign in to comment.