7878< link href ="../site_libs/quarto-html/quarto-syntax-highlighting-46d4eb725d7d2b8695ccd307f5b3c105.css " rel ="stylesheet " class ="quarto-color-scheme-extra " id ="quarto-text-highlighting-styles ">
7979< script src ="../site_libs/bootstrap/bootstrap.min.js "> </ script >
8080< link href ="../site_libs/bootstrap/bootstrap-icons.css " rel ="stylesheet ">
81- < link href ="../site_libs/bootstrap/bootstrap-22c5f25fcfc5fd5610dfced435a3b672 .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme " id ="quarto-bootstrap " data-mode ="light ">
82- < link href ="../site_libs/bootstrap/bootstrap-dark-f088ff709e1277e0222aba4cda41ab4d .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme quarto-color-alternate " id ="quarto-bootstrap " data-mode ="light ">
83- < link href ="../site_libs/bootstrap/bootstrap-22c5f25fcfc5fd5610dfced435a3b672 .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme-extra " id ="quarto-bootstrap " data-mode ="light ">
81+ < link href ="../site_libs/bootstrap/bootstrap-d52245bb7ba9b6ab6a7d9ea1e3d6d73b .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme " id ="quarto-bootstrap " data-mode ="light ">
82+ < link href ="../site_libs/bootstrap/bootstrap-dark-5f96869ffd51bc4c837006638a84c664 .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme quarto-color-alternate " id ="quarto-bootstrap " data-mode ="light ">
83+ < link href ="../site_libs/bootstrap/bootstrap-d52245bb7ba9b6ab6a7d9ea1e3d6d73b .min.css " rel ="stylesheet " append-hash ="true " class ="quarto-color-scheme-extra " id ="quarto-bootstrap " data-mode ="light ">
8484< script id ="quarto-search-options " type ="application/json "> {
8585 "location" : "sidebar" ,
8686 "copy-button" : false ,
@@ -629,7 +629,7 @@ <h1 class="title">JuMP Syntax Cheatsheet</h1>
629629
630630< section id ="basic-setup " class ="level1 ">
631631< h1 > Basic Setup</ h1 >
632- < div id ="1774767d " class ="cell " data-execution_count ="2 ">
632+ < div id ="63c236e4 " class ="cell " data-execution_count ="2 ">
633633< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb1 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb1-1 "> < a href ="#cb1-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="im "> using</ span > < span class ="bu "> JuMP</ span > , < span class ="bu "> HiGHS</ span > </ span >
634634< span id ="cb1-2 "> < a href ="#cb1-2 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
635635< span id ="cb1-3 "> < a href ="#cb1-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Create a model</ span > </ span >
@@ -643,7 +643,7 @@ <h1>Basic Setup</h1>
643643< h1 > Variables</ h1 >
644644< section id ="declaration " class ="level2 ">
645645< h2 class ="anchored " data-anchor-id ="declaration "> Declaration</ h2 >
646- < div id ="538f1bda " class ="cell " data-execution_count ="3 ">
646+ < div id ="dc9cbab1 " class ="cell " data-execution_count ="3 ">
647647< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb2 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb2-1 "> < a href ="#cb2-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Continuous Variables</ span > </ span >
648648< span id ="cb2-2 "> < a href ="#cb2-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, x) < span class ="co "> # Unbounded continuous</ span > </ span >
649649< span id ="cb2-3 "> < a href ="#cb2-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, x < span class ="op "> >=</ span > < span class ="fl "> 0</ span > ) < span class ="co "> # Non-negative continuous</ span > </ span >
@@ -660,7 +660,7 @@ <h2 class="anchored" data-anchor-id="declaration">Declaration</h2>
660660</ section >
661661< section id ="containers " class ="level2 ">
662662< h2 class ="anchored " data-anchor-id ="containers "> Containers</ h2 >
663- < div id ="f526cf5f " class ="cell " data-execution_count ="4 ">
663+ < div id ="2d937926 " class ="cell " data-execution_count ="4 ">
664664< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb3 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb3-1 "> < a href ="#cb3-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Arrays</ span > </ span >
665665< span id ="cb3-2 "> < a href ="#cb3-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, x[< span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 5</ span > ]) < span class ="co "> # Array of 5 variables</ span > </ span >
666666< span id ="cb3-3 "> < a href ="#cb3-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, x[< span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 5</ span > ] < span class ="op "> >=</ span > < span class ="fl "> 0</ span > ) < span class ="co "> # Non-negative array</ span > </ span >
@@ -681,15 +681,15 @@ <h2 class="anchored" data-anchor-id="containers">Containers</h2>
681681< h1 > Constraints</ h1 >
682682< section id ="declaration-1 " class ="level2 ">
683683< h2 class ="anchored " data-anchor-id ="declaration-1 "> Declaration</ h2 >
684- < div id ="c677a665 " class ="cell " data-execution_count ="5 ">
684+ < div id ="13a0115e " class ="cell " data-execution_count ="5 ">
685685< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb4 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb4-1 "> < a href ="#cb4-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Basic constraints</ span > </ span >
686686< span id ="cb4-2 "> < a href ="#cb4-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @constraint</ span > (model, con1, < span class ="fl "> 2</ span > x < span class ="op "> +</ span > y < span class ="op "> <=</ span > < span class ="fl "> 10</ span > )</ span >
687687< span id ="cb4-3 "> < a href ="#cb4-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @constraint</ span > (model, con2, x < span class ="op "> +</ span > < span class ="fl "> 2</ span > y < span class ="op "> >=</ span > < span class ="fl "> 5</ span > )</ span > </ code > </ pre > </ div > < button title ="Copy to Clipboard " class ="code-copy-button "> < i class ="bi "> </ i > </ button > </ div >
688688</ div >
689689</ section >
690690< section id ="containers-1 " class ="level2 ">
691691< h2 class ="anchored " data-anchor-id ="containers-1 "> Containers</ h2 >
692- < div id ="cce2b8a0 " class ="cell " data-execution_count ="6 ">
692+ < div id ="368f84c3 " class ="cell " data-execution_count ="6 ">
693693< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb5 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb5-1 "> < a href ="#cb5-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Array of variables</ span > </ span >
694694< span id ="cb5-2 "> < a href ="#cb5-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, x[< span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 5</ span > ] < span class ="op "> >=</ span > < span class ="fl "> 0</ span > )</ span >
695695< span id ="cb5-3 "> < a href ="#cb5-3 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
@@ -712,7 +712,7 @@ <h2 class="anchored" data-anchor-id="containers-1">Containers</h2>
712712</ section >
713713< section id ="conditional " class ="level2 ">
714714< h2 class ="anchored " data-anchor-id ="conditional "> Conditional</ h2 >
715- < div id ="951852d8 " class ="cell " data-execution_count ="7 ">
715+ < div id ="57c9cf67 " class ="cell " data-execution_count ="7 ">
716716< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb6 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb6-1 "> < a href ="#cb6-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Basic conditional constraint</ span > </ span >
717717< span id ="cb6-2 "> < a href ="#cb6-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @constraint</ span > (model, cond[i< span class ="op "> =</ span > < span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 5</ span > ; i < span class ="op "> ></ span > < span class ="fl "> 2</ span > ],</ span >
718718< span id ="cb6-3 "> < a href ="#cb6-3 " aria-hidden ="true " tabindex ="-1 "> </ a > x[i] < span class ="op "> <=</ span > < span class ="fl "> 10</ span > </ span >
@@ -726,7 +726,7 @@ <h2 class="anchored" data-anchor-id="conditional">Conditional</h2>
726726</ section >
727727< section id ="conditions-while-summing " class ="level2 ">
728728< h2 class ="anchored " data-anchor-id ="conditions-while-summing "> Conditions while Summing</ h2 >
729- < div id ="91caaf42 " class ="cell " data-execution_count ="8 ">
729+ < div id ="60fe853f " class ="cell " data-execution_count ="8 ">
730730< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb7 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb7-1 "> < a href ="#cb7-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @constraint</ span > (model, total_sum,</ span >
731731< span id ="cb7-2 "> < a href ="#cb7-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="fu "> sum</ span > (x[i] < span class ="cf "> for</ span > i < span class ="kw "> in</ span > < span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 5</ span > < span class ="cf "> if</ span > i < span class ="op "> ></ span > < span class ="fl "> 2</ span > ) < span class ="op "> <=</ span > < span class ="fl "> 500</ span > </ span >
732732< span id ="cb7-3 "> < a href ="#cb7-3 " aria-hidden ="true " tabindex ="-1 "> </ a > )</ span >
@@ -752,7 +752,7 @@ <h2 class="anchored" data-anchor-id="key-points-for-constraints">Key Points for
752752< h1 > Objective Function</ h1 >
753753< section id ="declaration-2 " class ="level2 ">
754754< h2 class ="anchored " data-anchor-id ="declaration-2 "> Declaration</ h2 >
755- < div id ="ae870160 " class ="cell " data-execution_count ="9 ">
755+ < div id ="de38f848 " class ="cell " data-execution_count ="9 ">
756756< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb8 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb8-1 "> < a href ="#cb8-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Maximize objective</ span > </ span >
757757< span id ="cb8-2 "> < a href ="#cb8-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @objective</ span > (model, Max, < span class ="fl "> 5</ span > x < span class ="op "> +</ span > < span class ="fl "> 3</ span > y)</ span >
758758< span id ="cb8-3 "> < a href ="#cb8-3 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
@@ -762,7 +762,7 @@ <h2 class="anchored" data-anchor-id="declaration-2">Declaration</h2>
762762</ section >
763763< section id ="containers-2 " class ="level2 ">
764764< h2 class ="anchored " data-anchor-id ="containers-2 "> Containers</ h2 >
765- < div id ="7c338e01 " class ="cell " data-execution_count ="10 ">
765+ < div id ="f9d39b68 " class ="cell " data-execution_count ="10 ">
766766< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb9 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb9-1 "> < a href ="#cb9-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Container objective</ span > </ span >
767767< span id ="cb9-2 "> < a href ="#cb9-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @variable</ span > (model, z[< span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 10</ span > ])</ span >
768768< span id ="cb9-3 "> < a href ="#cb9-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="pp "> @objective</ span > (model, Min, < span class ="fu "> sum</ span > (z[i] < span class ="cf "> for</ span > i < span class ="kw "> in</ span > < span class ="fl "> 1</ span > < span class ="op "> :</ span > < span class ="fl "> 10</ span > ))</ span >
@@ -788,7 +788,7 @@ <h2 class="anchored" data-anchor-id="key-points">Key Points</h2>
788788< h1 > Additional Features</ h1 >
789789< section id ="checking-bounds " class ="level2 ">
790790< h2 class ="anchored " data-anchor-id ="checking-bounds "> Checking Bounds</ h2 >
791- < div id ="f134f53e " class ="cell " data-execution_count ="11 ">
791+ < div id ="4cc85744 " class ="cell " data-execution_count ="11 ">
792792< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb10 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb10-1 "> < a href ="#cb10-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Checking bounds</ span > </ span >
793793< span id ="cb10-2 "> < a href ="#cb10-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="fu "> has_lower_bound</ span > (x) < span class ="co "> # Check if lower bound exists</ span > </ span >
794794< span id ="cb10-3 "> < a href ="#cb10-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="fu "> has_upper_bound</ span > (x) < span class ="co "> # Check if upper bound exists</ span > </ span >
@@ -798,7 +798,7 @@ <h2 class="anchored" data-anchor-id="checking-bounds">Checking Bounds</h2>
798798</ section >
799799< section id ="checking-properties " class ="level2 ">
800800< h2 class ="anchored " data-anchor-id ="checking-properties "> Checking Properties</ h2 >
801- < div id ="410f3141 " class ="cell " data-execution_count ="12 ">
801+ < div id ="7ec0f014 " class ="cell " data-execution_count ="12 ">
802802< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb11 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb11-1 "> < a href ="#cb11-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Check variable type</ span > </ span >
803803< span id ="cb11-2 "> < a href ="#cb11-2 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="fu "> is_binary</ span > (x) < span class ="co "> # Is variable binary?</ span > </ span >
804804< span id ="cb11-3 "> < a href ="#cb11-3 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="fu "> is_integer</ span > (x) < span class ="co "> # Is variable integer?</ span > </ span >
@@ -813,7 +813,7 @@ <h2 class="anchored" data-anchor-id="checking-properties">Checking Properties</h
813813</ section >
814814< section id ="solver-options " class ="level1 ">
815815< h1 > Solver Options</ h1 >
816- < div id ="a41bd286 " class ="cell " data-execution_count ="13 ">
816+ < div id ="12560da3 " class ="cell " data-execution_count ="13 ">
817817< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb12 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb12-1 "> < a href ="#cb12-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Create model with solver</ span > </ span >
818818< span id ="cb12-2 "> < a href ="#cb12-2 " aria-hidden ="true " tabindex ="-1 "> </ a > model < span class ="op "> =</ span > < span class ="fu "> Model</ span > (HiGHS.Optimizer)</ span >
819819< span id ="cb12-3 "> < a href ="#cb12-3 " aria-hidden ="true " tabindex ="-1 "> </ a > </ span >
@@ -831,7 +831,7 @@ <h1>Solver Options</h1>
831831</ div >
832832< section id ="solution-status-checks " class ="level2 ">
833833< h2 class ="anchored " data-anchor-id ="solution-status-checks "> Solution Status Checks</ h2 >
834- < div id ="878834f1 " class ="cell " data-execution_count ="14 ">
834+ < div id ="4d5745e9 " class ="cell " data-execution_count ="14 ">
835835< div class ="code-copy-outer-scaffold "> < div class ="sourceCode cell-code " id ="cb13 "> < pre class ="sourceCode julia code-with-copy "> < code class ="sourceCode julia "> < span id ="cb13-1 "> < a href ="#cb13-1 " aria-hidden ="true " tabindex ="-1 "> </ a > < span class ="co "> # Check solution status</ span > </ span >
836836< span id ="cb13-2 "> < a href ="#cb13-2 " aria-hidden ="true " tabindex ="-1 "> </ a > status < span class ="op "> =</ span > < span class ="fu "> termination_status</ span > (model) < span class ="co "> # Get solution status</ span > </ span >
837837< span id ="cb13-3 "> < a href ="#cb13-3 " aria-hidden ="true " tabindex ="-1 "> </ a > is_optimal < span class ="op "> =</ span > status < span class ="op "> ==</ span > MOI.OPTIMAL < span class ="co "> # Check if optimal</ span > </ span >
0 commit comments