(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 10.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 233550, 5581] NotebookOptionsPosition[ 156312, 4086] NotebookOutlinePosition[ 214047, 5262] CellTagsIndexPosition[ 213967, 5257] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", "FirstSlide", CellTags-> "SlideShowHeader",ExpressionUUID->"5eff326f-51d4-4f6d-8327-0361233df0b4"], Cell["Mixed Integer Convex Optimization", "Title", CellChangeTimes->{{3.448190122176695*^9, 3.44819012385317*^9}, { 3.485609127497636*^9, 3.485609133015955*^9}, {3.514308355088097*^9, 3.514308374696691*^9}, 3.5146594348020153`*^9, 3.5146601881617107`*^9, 3.7257081858163147`*^9, {3.748513275132052*^9, 3.748513282427458*^9}, { 3.781105211888197*^9, 3.781105219971547*^9}},ExpressionUUID->"4a349bd0-044f-4b71-9e5d-\ 6f85b428ef05"], Cell["Paritosh Mokhasi, Kernel Developer", "Subtitle", CellChangeTimes->{{3.485609136120798*^9, 3.4856091511532907`*^9}, { 3.4856091945334663`*^9, 3.485609199379443*^9}, {3.4951031489375*^9, 3.49510314984375*^9}, {3.495106455296875*^9, 3.495106455453125*^9}, { 3.5143083846926413`*^9, 3.514308395249558*^9}, 3.5443793532699003`*^9, 3.621626517580729*^9, {3.621626691998458*^9, 3.6216267186543407`*^9}, { 3.621695156698331*^9, 3.621695160632772*^9}, {3.622213306499199*^9, 3.622213328771823*^9}, {3.7485132865228577`*^9, 3.748513298658743*^9}},ExpressionUUID->"8bf38818-9136-4d63-b800-\ a95800ba3bba"], Cell[TextData[{ Cell[BoxData[ GraphicsBox[{InsetBox[ GraphicsBox[{}, ContentSelectable->True, ImageSize->{480, 360}, PlotRange->{{0, 480/360}, {0, 1}}], Scaled[{0, 0}], Center, Scaled[{0.5, 0.5}]], InsetBox[ GraphicsBox[ TagBox[RasterBox[CompressedData[" 1:eJztW7uO20YUXSQpUuoTmD9QmZIG0qQTHKSfNWIbaRzBDhCkY+HCQGBrbe9m 36a82mcafgK7pAvrBFjNvli4CNhux9xL3dFejobkUE/D0ADHa2n5mHN4X3OH +9WDn+4/+mxlZeXZl/DP/dVf7j19uvrrdw348P2TZz8+fvLwh2+f/Pzw8cOn Xz/4HL78BnAP8MXKcizHcizHxzPikz8agPai57HIAfwDgEf/d1EP+tlY8NTm MohryjTw6LOCBPgA8SlqQj4gKzTQgXq4i5359IbG18Pvrt69F4CQ/EOWaBF+ LFrQXDsAp+Z5TY2Th9+f//ZKABJACpD9tbfh5fZeeHN0GpZoUeve0x7EX80n sH02NPcRDeSbDQfgAv8GoAXooBaoCepBNpIYtPBmSLOKi8l/JcV2Ywyj+Kaf 08LfAX8PkBIiQAeAWjQBPtpI/+VaVKBFuIi4SVyLfDahGOaw4xv63NHOz19v tEkDAQiZDgoJ6tPvvHFAB0/ZBZwbaffEz805a+CWaKA/I0Ga5HTqr29FoIGn Xxt9guxAjmjxcg3tIkS7uNrvBgbt56ZDDQ2MuOr20AZSkwZ8kB7cPiT5SBtt 4mJjK9Dsa246kG3rsUB/LkbcHJ1J4C5tNFCDtIiYFoJiRSJfr0eaDnJe8UH3 R+TV39gOrnvHfkEMz3CxtadsIFXxIGa1coUWKnY6+LlEh2j2CmTzzvEEPpxb cDnw11zsuukdB+wYya4l2PVUTDXatOKvhtKB/GKueTPWcr2mwZCn3Nr1IY5n ftt/uxmx37mGa2IN1YnvakWrWoh0SA1xcqaxQddAbu4GBg0UEk0j3+L6ItbW FWWD4mSi5c2Z+kScrxV1P3cAHeJu0sMqZlHsVfdpVR0PGgRQS+ixQUxMtnh+ uVrxctcf2sFwTsAVIFgeGMbBmvdybI4DDZysdhjUk8M8Ufd+JfNwyT475Ae5 mMhyPmLED9H/bXOhGrcfPrQAHkEAKu0H60msqyexBdQc7Y6ec9VatkgDl/Oo c386xwVIQKohQT3oGAfQAeRiC627dFsILbm3bLiWgMdEweaJcxc1+DcN3E1a qP9nNgc5s0k1pZ/ZwqvXeo5wLHXQ6/oyoH2E+PwxFmh5QT0rwebqWWpgev5F CNAO0NZIg6yOpHVFqvUfrONQgQ7JTe8kvPIPAoz/kOfR7iNDzNc18LQ5h2gb JfzdGvwVhr7A6mmspQPsw9T1hzIdLve6phooVw9hfYj8VTzQ7CDn06b4ZtDM mj9p0CYNAqwXdH+oo0ENHbxzQ73HODUqfNqn2N8YQ4OR50r9qGytTbUj+iuv mQrnOoEOQdU1KHbbcJI1Y4HRtlnfYRATDk+4LYy1p2PS4WJnn9d/hXUv+YJX k9ukGgQsJoRajvTG0aBIB8gDskqHgngwLXQKNFDra+y9BVd7Pp97pd2WaNDQ /CrLFfL3nahMh9u7+mAWEBYaeBfrm2PnBoMOpv6Zvh70DDrYxoO6cAo0aDEN BGiganuE0XYs+Tfj0d5QcrG9z/0hKloP3g5qmZnHAtLAVRqMy9eWv+YHhfxJ A/QJf9Z+QBoMfeEGbBeAP73rwxMBNV7hebPkTxpMMzaWroU1DXxAigANsM6t WysKC/6hbT8E5h5NSQO3QgNf5UbgHg416B0HoIFXk38+/h2fpVV5oEKDxhR0 KIxp8aCvIdiaAf0gGWpwcIR2YFUjmfjjngCsk3j8S9naQJTVywYtBMXIpCb/ UjvG3H3d7Q3XjsDbUfwRuN4DVM7T+Pzh2sC/U7Fe4uumUPUPCjRwxsgT4W1J Dyke9H0k7VuiBugDgmkQAf8EUOq3cfk+alZfZOvnbi+82HkXys2dkPia+qZY HzvEGX0A18TtMbiX2j+bO/qBx+rkNvAOhhocnaIflPaYC3oGtsD6EeryA5/3 keh5h5PE/6r4R3PP9rSv9ruqLkgvt/ea3A+u3x/6oEGplnG+f6jXxFaAmGPc P7kd9Mb8Gv6PtmLdg6R5+ywfYD5sMw0k8EfU3m8hH3PVPWJDL5mD91SLrvnf n3+1bu/Wkhxtm2dumGNTtwHKB1KrC6bWX6f7NkibXI+G7bEk+jlsj2GavX61 jvPY/nygxcIEn8049aHlHHJ7LP2NbaXBMIfRnoKeU6cyH2WbLBckFAfuaoKj 08AmH0wwB74m5XuuHeKu991U/pjYFoi/vNzccekdFZULOpoNRHVqwzHmIXlu MHDNgHvNZI+89z72e8rEP7k5OOL80QdauVwwgzhgmAurI09Hes6KO4+j/fUt yXSqZZ/k/3g9SfxVTRxBTsrVxTfHZ6omcmfDfrSfou2zyaL3CSFP89jg1bhf i64XavYfQU7AmjgyxMFa65m6I9b25S53/exdHOw5xxX7kyx2juQPw31clpM9 2j8o4486YxyMZhUH2dxyOQHfsanifnfsSWkdQTm/za7n01qIv58WkP3n+feO Q/KBmb+bptcGJfBjQx9GrcHZ9fjzTom/d772Vu2nNuj5JxT/Wzn/nzN/mnNo wd1hx+ft5vBEahoIOkb8+/yF+/fqIwEIAMO4jvUf5X+e/zL/nzd/mrMVd3Y8 /5uFYV2pfg9cXcUZkHKoY6j+SzT+Evx/EfwdA3e0C7fivFxvAt+dUr8Drp7G HfVo//P8hUPrH6lxH+S/bk9S/Fvku8qV3LVzc7agvic7aAGa1P8RufW//uwH fTF89p1Zx/8CHui3UR3u7Fxh0oA4hwZbz3Mf+L1aC9e+/7SGyd9rnh8ZNPAK uR+fhfTcJT17b1IOix7cl9R3mgbZ3/BkvAf1Xko+LxY47akPlVvVZ+ArgC/W d8rPFW9v3vFuXkPZgvqMvk1824v083mPeMJ98E9hxHP++6PlWI7lKB7/A84W GjU= "], {{0, 68}, {65, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], BaseStyle->"ImageGraphics", ImageSizeRaw->{65, 68}, PlotRange->{{0, 65}, {0, 68}}], Scaled[{0.49333580155497714, 0.5717682253254397}], Center, {1.1979558513699555, 0.9210339753942228}, {{1., 0.}, {0., 1.}}]}, AspectRatio->1.0295620437956206`, ContentSelectable->True, ImageMargins->0., ImagePadding->{{0., 0.}, {0., 0.}}, ImageSize->{74., 77.5}, PlotRange->{{0., 1.3333333333333335`}, {0., 1.}}, PlotRangePadding->Automatic]],ExpressionUUID-> "eb1d1c99-f9b1-47d6-84cd-363f1135648c"], StyleBox[" ", FontColor->RGBColor[ 0.5019607843137255, 0.5019607843137255, 0.5019607843137255]], StyleBox["Join the Conversation ", FontColor->RGBColor[ 0.9019607843137255, 0.9019607843137255, 0.9019607843137255]], "#WolframTechConf" }], "Text", CellFrame->{{0, 0}, {0, 1}}, ShowCellBracket->Automatic, CellMargins->{{80, 80}, {100, 165}}, CellFrameMargins->{{0, 0}, {0, 50}}, CellFrameColor->RGBColor[0.886275, 0.364706, 0.427451], CellChangeTimes->{{3.6216253798451433`*^9, 3.621625396205482*^9}, 3.6216255185076437`*^9, {3.621625573653562*^9, 3.6216256020928392`*^9}, { 3.621625635821653*^9, 3.621625645324601*^9}, {3.621625678952072*^9, 3.62162572395792*^9}, {3.621625867660451*^9, 3.62162588677988*^9}, { 3.621625982321312*^9, 3.621625984476396*^9}}, TextAlignment->Center, FontFamily->"Arial", FontSize->24, FontColor->GrayLevel[ 1],ExpressionUUID->"e5654c3b-261a-4278-9d0c-d50835b563a4"] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"3922b593-907c-45c1-b8b6-90c3373155fd"], Cell[CellGroupData[{ Cell["ABSTRACT", "Section", CellChangeTimes->{{3.7257199329223537`*^9, 3.725720005948655*^9}, { 3.72572008110417*^9, 3.725720088583918*^9}, {3.7485133860544777`*^9, 3.748513397614452*^9}}, TextAlignment->Left,ExpressionUUID->"f29c9c36-3588-423d-85b2-02bd9ce04aa0"], Cell["\<\ This talk will provide an overview of solving mixed-integer convex \ optimization problems using dedicated Mathematica solver functions. Examples \ will be shown that demonstrate how a variety of problems can be specified \ using the mixed-integer formulations and how the results can be interpreted. \ An overview of the underlying algorithm that solves mixed-integer convex \ problems will also be given in this talk.\ \>", "Text", CellChangeTimes->{{3.725720132418301*^9, 3.7257201347705364`*^9}, { 3.748513331598174*^9, 3.748513347888501*^9}, 3.781105240159402*^9},ExpressionUUID->"813e3938-12dd-4af2-a679-\ 9c2667c326cc"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"bbae2092-465f-4773-aadf-99fe25249024"], Cell[CellGroupData[{ Cell["Convex Optimization", "Section", CellChangeTimes->{{3.748513585168001*^9, 3.748513603270793*^9}, { 3.748521823416212*^9, 3.7485218276635647`*^9}},ExpressionUUID->"05ebc178-818b-46d0-9872-\ b3f2563f1623"], Cell[TextData[{ "\tA convex optimization problem is one of the form\n\t\t\t\n\t\t\t\t\ minimize ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], TraditionalForm]], ExpressionUUID->"8ed2991d-a75a-492b-8155-26ef248fc747"], "\n\t\t\t\tsubject to ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "\[LessEqual]", "0"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "...", ",", "m", ","}], TraditionalForm]],ExpressionUUID->"2e80df4d-12e6-408b-9a56-511fe5137560"], "\n\t\t\t\t\n\twhere the functions ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], ",", "...", ",", RowBox[{ SubscriptBox["f", "m"], "(", "x", ")"}]}], TraditionalForm]], ExpressionUUID->"745dc45e-969c-47fd-9232-05f4c766c39e"], ": ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["\[DoubleStruckCapitalR]", "n"], "\[Rule]", "\[DoubleStruckCapitalR]"}], TraditionalForm]],ExpressionUUID-> "af78e86b-997d-42d0-be0a-9dc70d98525c"], " are convex, ", StyleBox["i.e", FontSlant->"Italic"], "., satisfy\n\t\n\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", RowBox[{ RowBox[{"\[Alpha]", " ", "x"}], "+", RowBox[{"\[Beta]", " ", "y"}]}], ")"}], "\[LessEqual]", " ", RowBox[{ RowBox[{"\[Alpha]", " ", RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}]}], "+", RowBox[{"\[Beta]", " ", RowBox[{ SubscriptBox["f", "i"], "(", "y", ")"}]}]}]}], TraditionalForm]], ExpressionUUID->"c7941e80-f3ac-4183-bb77-22f6004ad984"], "\n\t\t\t\t\n\tfor all ", Cell[BoxData[ FormBox[ RowBox[{"x", ",", RowBox[{"y", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}]}], TraditionalForm]], ExpressionUUID->"a9ac15e6-1b9e-404c-aa6d-78594abb5374"], " and all ", Cell[BoxData[ FormBox[ RowBox[{"\[Alpha]", ",", RowBox[{"\[Beta]", "\[Element]", "\[DoubleStruckCapitalR]"}]}], TraditionalForm]],ExpressionUUID->"741bf2cb-6f4c-41a7-973c-299b38a027b8"], " with ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"\[Alpha]", "+", "\[Beta]"}], "=", "1"}], ",", RowBox[{"\[Alpha]", "\[GreaterEqual]", "0"}], ",", RowBox[{"\[Beta]", "\[GreaterEqual]", "0."}]}], TraditionalForm]], ExpressionUUID->"8d2df37f-de7e-4b58-a4f6-83442777de96"], "\n" }], "ExampleText", CellChangeTimes->{{3.748527502038495*^9, 3.748527771637741*^9}, { 3.748949539921399*^9, 3.7489495434640617`*^9}}, FontSize->36,ExpressionUUID->"adef5b4f-877f-408c-829b-23c2fe7a0616"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"ebcb60d5-5693-4d10-99d4-e584bc9261c6"], Cell[CellGroupData[{ Cell["Optimization Models", "Section", CellChangeTimes->{{3.748523057429144*^9, 3.748523065491868*^9}, { 3.748526116999317*^9, 3.748526117854617*^9}, {3.7812528377840567`*^9, 3.7812528396352882`*^9}},ExpressionUUID->"79f86cab-30f5-4b1b-a74c-\ c20775d486cf"], Cell["", "Text", CellChangeTimes->{{3.748523097498534*^9, 3.748523099330916*^9}},ExpressionUUID->"ab970352-1b99-4790-befb-\ 6321d156e1ae"], Cell[TextData[{ "Minimize \t", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], TraditionalForm]],ExpressionUUID-> "43a366ff-dca3-4075-acfd-c0eeda087015"], ",\n\t\t subject to\t", Cell[BoxData[ FormBox[ RowBox[{" ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "\[LessEqual]", "0"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "...", ",", "m", ",", "\[IndentingNewLine]", " ", RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}]}]}], TraditionalForm]], ExpressionUUID->"0479381d-f233-4d98-b31c-5fd4d8469e94"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107635373508*^9, 3.781107695746707*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"2c9d4cc1-3b38-48f2-a51b-06d70b0420ec"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"ee7574c0-942d-4cff-8b11-6c790e220e4e"], Cell[CellGroupData[{ Cell["Optimization Models", "Section", CellChangeTimes->{{3.748523057429144*^9, 3.748523065491868*^9}, { 3.748526116999317*^9, 3.748526117854617*^9}, {3.7812528419859343`*^9, 3.781252843330069*^9}},ExpressionUUID->"36df171b-7fa5-40e1-bbca-\ 4662281355fb"], Cell["", "Text", CellChangeTimes->{{3.748523097498534*^9, 3.748523099330916*^9}},ExpressionUUID->"a6af0c8b-2fbe-4a18-98d4-\ 754ab7bf8ac2"], Cell[TextData[{ "Minimize \t", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], TraditionalForm]],ExpressionUUID-> "6bed5d64-5b11-4645-b6e6-781c27b764c5"], ",\n\t\t subject to\t", Cell[BoxData[ FormBox[ RowBox[{" ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "...", ",", "m", ",", "\[IndentingNewLine]", " ", RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}]}]}], TraditionalForm]], ExpressionUUID->"4b7af818-e53d-46ed-9ea9-139393a64fd3"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107635373508*^9, 3.7811076557487087`*^9}, {3.7811077009680433`*^9, 3.781107717937169*^9}, {3.781342245825899*^9, 3.781342246080845*^9}, { 3.78134228360693*^9, 3.781342314566246*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"8b3e6404-1b4d-4b60-95a6-0e20984082e2"], Cell[BoxData["\[IndentingNewLine]"], "Input", CellChangeTimes->{3.7485257488862*^9, 3.748526979548152*^9, 3.781107748170349*^9},ExpressionUUID->"c6591fdd-8cd3-4ec4-9cbc-\ fafbc0e05cc7"], Cell[TextData[{ StyleBox["\tLinear Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t\t", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], "ExampleText"], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"86ec39e7-d96b-4e10-a73a-3aa7ed6811cf"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524853253516*^9}, {3.7485255364247923`*^9, 3.748525575788571*^9}, { 3.7485256706847353`*^9, 3.748525670684856*^9}, {3.748525834156609*^9, 3.748525845226664*^9}, {3.7485258754181232`*^9, 3.748525875418275*^9}, { 3.74852647628154*^9, 3.7485264833932667`*^9}, {3.7485266029163027`*^9, 3.748526604572125*^9}, {3.748526931071031*^9, 3.748526931071187*^9}, 3.748526962100808*^9, {3.748526993580514*^9, 3.7485269973159943`*^9}, 3.748527029066144*^9, 3.748527149533946*^9, {3.74873475152652*^9, 3.748734751878145*^9}, {3.748950046026676*^9, 3.7489500498744383`*^9}, { 3.781342249831952*^9, 3.781342253871057*^9}}, FontSize->24,ExpressionUUID->"2880c75c-9387-4fc5-abcb-18e3426c54ab"], Cell[TextData[{ StyleBox["\tLinear Fractional Optimization\t", FontColor->RGBColor[1, 0, 0]], "\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Alpha]", ".", "x"}], "+", "\[Beta]"}], ")"}], "/", RowBox[{"(", RowBox[{ RowBox[{"\[Gamma]", ".", "x"}], "+", "\[Delta]"}], ")"}]}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"975cd3ea-dace-43a5-9ac2-59d29c4e0ff6"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524853253516*^9}, {3.7485255364247923`*^9, 3.748525575788571*^9}, { 3.748525671448913*^9, 3.748525709400106*^9}, {3.748525839179592*^9, 3.74852587010581*^9}, {3.748526472776318*^9, 3.748526474098216*^9}, { 3.748526518783959*^9, 3.7485265221839733`*^9}, {3.748526608467428*^9, 3.748526608795967*^9}, {3.748526874625779*^9, 3.748526876057835*^9}, { 3.748526910583955*^9, 3.748526963900666*^9}, 3.748527032281947*^9, { 3.7485271507493134`*^9, 3.748527155772703*^9}, {3.748734754501245*^9, 3.748734755149827*^9}, {3.7489500521061773`*^9, 3.7489500560902863`*^9}, { 3.7813422566141567`*^9, 3.781342260421122*^9}}, FontSize->24,ExpressionUUID->"4c3870e9-939f-4498-9074-b903ddc667bd"], Cell[TextData[{ StyleBox["\tQuadratic Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{ RowBox[{ FractionBox["1", "2"], RowBox[{"x", ".", "Q", ".", "x"}]}], "+", RowBox[{"c", ".", "x"}]}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"994546fd-a08c-4ec5-bcaa-334c367be89d"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748524942539701*^9}, { 3.7485255823900414`*^9, 3.748525593614365*^9}, {3.748525852226253*^9, 3.7485258532185297`*^9}, {3.748526492064864*^9, 3.748526492065021*^9}, { 3.748526612171288*^9, 3.748526612347752*^9}, {3.74852687843312*^9, 3.7485268791697197`*^9}, {3.748526937381916*^9, 3.7485269655806026`*^9}, 3.7485270359458933`*^9, 3.748527158228953*^9, {3.748734757342637*^9, 3.748734757605898*^9}, {3.748777473532548*^9, 3.7487774824602833`*^9}, { 3.748950058649786*^9, 3.748950063081945*^9}, {3.781342263068478*^9, 3.781342267147764*^9}}, FontSize->24,ExpressionUUID->"704856e4-d5fd-4380-a016-3a34ace01a61"], Cell[TextData[{ StyleBox["\tSecond Order Cone Optimization", FontColor->RGBColor[1, 0, 0]], " \t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "i"], "x"}], "+", SubscriptBox["\[Beta]", "i"], "-"}], "||", RowBox[{ RowBox[{ SubscriptBox["A", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], SubscriptBox["||", "2"], RowBox[{"\[GreaterEqual]", "0."}]}]}]}], TraditionalForm]], ExpressionUUID->"0c822199-af74-44b4-9a12-4ff8fa2e52d9"], "\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748525040612813*^9}, { 3.7485256146686993`*^9, 3.748525648691246*^9}, {3.748525856522016*^9, 3.748525857226522*^9}, {3.748525937098907*^9, 3.748525937688322*^9}, { 3.7485264408582087`*^9, 3.7485264702275352`*^9}, {3.748526500800581*^9, 3.748526531815679*^9}, {3.7485266145553627`*^9, 3.748526614827774*^9}, { 3.7485268865686903`*^9, 3.748526890561022*^9}, {3.748526927573875*^9, 3.748526967708537*^9}, 3.748527121775072*^9, 3.748527161324849*^9, { 3.748734745167357*^9, 3.7487347457103033`*^9}, {3.748867840297205*^9, 3.748867840297332*^9}, {3.7489500726011868`*^9, 3.748950078592287*^9}, { 3.781342272753858*^9, 3.7813422732743073`*^9}}, FontSize->24,ExpressionUUID->"5fc0b16f-bd03-42a2-b039-6873cb3ab54f"], Cell[TextData[{ StyleBox["\tSemidefinite Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], ",", " ", RowBox[{ RowBox[{"f", "(", "x", ")"}], "=", RowBox[{ RowBox[{ SubscriptBox["A", "0"], "+", RowBox[{ SubscriptBox["A", "1"], SubscriptBox["x", "1"]}], "+", "\[Ellipsis]", "+", RowBox[{ SubscriptBox["A", "n"], SubscriptBox["x", "n"]}]}], " ", SubscriptBox["\[SucceedsEqual]", TemplateBox[{"n"}, "SemidefiniteConeList"]], RowBox[{"0", "."}]}]}]}], TraditionalForm]],ExpressionUUID-> "5bcae036-da57-4e22-a413-a95fa0031d4c"], "\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748525040612813*^9}, { 3.7485256146686993`*^9, 3.748525648691246*^9}, {3.748525856522016*^9, 3.748525857226522*^9}, {3.748525937098907*^9, 3.748525937688322*^9}, { 3.7485264408582087`*^9, 3.7485264702275352`*^9}, {3.748526500800581*^9, 3.748526531815679*^9}, {3.7485266145553627`*^9, 3.748526614827774*^9}, { 3.7485268865686903`*^9, 3.748526890561022*^9}, {3.748526927573875*^9, 3.748526967708537*^9}, 3.748527121775072*^9, 3.748527161324849*^9, { 3.748734745167357*^9, 3.7487347457103033`*^9}, {3.748867840297205*^9, 3.748867840297332*^9}, {3.7489500726011868`*^9, 3.748950078592287*^9}, { 3.781253025774597*^9, 3.781253031644391*^9}, {3.7812531020273848`*^9, 3.781253164952516*^9}, {3.781253270320735*^9, 3.78125327057351*^9}}, FontSize->24,ExpressionUUID->"67ab7c86-2719-47cb-b4fd-5ff3480310e7"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"df7e4458-7487-4f1e-b4a4-26204037fe03"], Cell[CellGroupData[{ Cell["Mixed Integer Convex Optimization Models", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.7811073086161337`*^9, 3.7811073162126207`*^9}},ExpressionUUID->"272e4d0f-a513-41c3-b535-\ 444226f39149"], Cell[TextData[{ "Minimize \t", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], TraditionalForm]],ExpressionUUID-> "303c88b4-b9a1-400e-8425-b2b153d1e8f1"], ",\n\t\t subject to\t ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "...", ",", "m", ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "j"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", RowBox[{"j", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "k", ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "s"], " ", "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"k", "+", "1"}]}], ",", "\[Ellipsis]", ",", RowBox[{"n", ".", " "}]}], TraditionalForm]],ExpressionUUID-> "17ccea89-dc6e-492d-a82d-3f36c9a410fd"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107504743473*^9, 3.781107626025947*^9}, {3.781107726924037*^9, 3.781107734016706*^9}, {3.781342326379313*^9, 3.781342326379395*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"d9d95070-4e6a-4bd7-a980-daf565ee92ca"], Cell[BoxData["\[IndentingNewLine]"], "Input", CellChangeTimes->{3.7485257488862*^9, 3.748526979548152*^9, 3.7811077440197067`*^9},ExpressionUUID->"fe38f930-9ef4-479d-9779-\ 658d3c2135ce"], Cell[TextData[{ StyleBox["\tLinear Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t\t", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], "ExampleText"], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"90c33ae1-340d-4b7f-a0db-cf44e34580f9"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524853253516*^9}, {3.7485255364247923`*^9, 3.748525575788571*^9}, { 3.7485256706847353`*^9, 3.748525670684856*^9}, {3.748525834156609*^9, 3.748525845226664*^9}, {3.7485258754181232`*^9, 3.748525875418275*^9}, { 3.74852647628154*^9, 3.7485264833932667`*^9}, {3.7485266029163027`*^9, 3.748526604572125*^9}, {3.748526931071031*^9, 3.748526931071187*^9}, 3.748526962100808*^9, {3.748526993580514*^9, 3.7485269973159943`*^9}, 3.748527029066144*^9, 3.748527149533946*^9, {3.74873475152652*^9, 3.748734751878145*^9}, {3.748950046026676*^9, 3.7489500498744383`*^9}, { 3.781342331577179*^9, 3.781342334864318*^9}}, FontSize->24,ExpressionUUID->"5d73aafa-2eef-4501-80fe-cc454bf19374"], Cell[TextData[{ StyleBox["\tLinear Fractional Optimization\t", FontColor->RGBColor[1, 0, 0]], "\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"\[Alpha]", ".", "x"}], "+", "\[Beta]"}], ")"}], "/", RowBox[{"(", RowBox[{ RowBox[{"\[Gamma]", ".", "x"}], "+", "\[Delta]"}], ")"}]}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"0931c023-8dfd-437a-97f9-1e7a4cf5e61f"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524853253516*^9}, {3.7485255364247923`*^9, 3.748525575788571*^9}, { 3.748525671448913*^9, 3.748525709400106*^9}, {3.748525839179592*^9, 3.74852587010581*^9}, {3.748526472776318*^9, 3.748526474098216*^9}, { 3.748526518783959*^9, 3.7485265221839733`*^9}, {3.748526608467428*^9, 3.748526608795967*^9}, {3.748526874625779*^9, 3.748526876057835*^9}, { 3.748526910583955*^9, 3.748526963900666*^9}, 3.748527032281947*^9, { 3.7485271507493134`*^9, 3.748527155772703*^9}, {3.748734754501245*^9, 3.748734755149827*^9}, {3.7489500521061773`*^9, 3.7489500560902863`*^9}, { 3.781342337135429*^9, 3.7813423397827168`*^9}}, FontSize->24,ExpressionUUID->"abb40468-a032-49e7-9b0d-77a20a7e785c"], Cell[TextData[{ StyleBox["\tQuadratic Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{ RowBox[{ FractionBox["1", "2"], RowBox[{"x", ".", "Q", ".", "x"}]}], "+", RowBox[{"c", ".", "x"}]}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], ")"}], "\[GreaterEqual]", "0"}]}]}], TraditionalForm]],ExpressionUUID->"25dd4523-6a80-466c-9f79-e5eea8a8d38f"], ".\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748524942539701*^9}, { 3.7485255823900414`*^9, 3.748525593614365*^9}, {3.748525852226253*^9, 3.7485258532185297`*^9}, {3.748526492064864*^9, 3.748526492065021*^9}, { 3.748526612171288*^9, 3.748526612347752*^9}, {3.74852687843312*^9, 3.7485268791697197`*^9}, {3.748526937381916*^9, 3.7485269655806026`*^9}, 3.7485270359458933`*^9, 3.748527158228953*^9, {3.748734757342637*^9, 3.748734757605898*^9}, {3.748777473532548*^9, 3.7487774824602833`*^9}, { 3.748950058649786*^9, 3.748950063081945*^9}, {3.7813423416618977`*^9, 3.781342344165688*^9}}, FontSize->24,ExpressionUUID->"425e17ff-0c3d-46ce-8638-b34a60778e79"], Cell[TextData[{ StyleBox["\tSecond Order Cone Optimization", FontColor->RGBColor[1, 0, 0]], " \t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], ",", " ", RowBox[{ RowBox[{ SubscriptBox["f", "i"], "(", "x", ")"}], "=", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["\[Alpha]", "i"], "x"}], "+", SubscriptBox["\[Beta]", "i"], "-"}], "||", RowBox[{ RowBox[{ SubscriptBox["A", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], SubscriptBox["||", "2"], RowBox[{"\[GreaterEqual]", "0."}]}]}]}], TraditionalForm]], ExpressionUUID->"7ba422d5-c0a2-436c-8d58-edf866325972"], "\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748525040612813*^9}, { 3.7485256146686993`*^9, 3.748525648691246*^9}, {3.748525856522016*^9, 3.748525857226522*^9}, {3.748525937098907*^9, 3.748525937688322*^9}, { 3.7485264408582087`*^9, 3.7485264702275352`*^9}, {3.748526500800581*^9, 3.748526531815679*^9}, {3.7485266145553627`*^9, 3.748526614827774*^9}, { 3.7485268865686903`*^9, 3.748526890561022*^9}, {3.748526927573875*^9, 3.748526967708537*^9}, 3.748527121775072*^9, 3.748527161324849*^9, { 3.748734745167357*^9, 3.7487347457103033`*^9}, {3.748867840297205*^9, 3.748867840297332*^9}, {3.7489500726011868`*^9, 3.748950078592287*^9}, { 3.781342347660536*^9, 3.7813423480366697`*^9}}, FontSize->24,ExpressionUUID->"3e18d517-75bd-405c-9658-a96bd4ce0739"], Cell[TextData[{ StyleBox["\tSemidefinite Optimization", FontColor->RGBColor[1, 0, 0]], " \t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["f", "0"], "(", "x", ")"}], "=", RowBox[{"c", ".", "x"}]}], ",", " ", RowBox[{ RowBox[{"f", "(", "x", ")"}], "=", RowBox[{ RowBox[{ SubscriptBox["A", "0"], "+", RowBox[{ SubscriptBox["A", "1"], SubscriptBox["x", "1"]}], "+", "\[Ellipsis]", "+", RowBox[{ SubscriptBox["A", "n"], SubscriptBox["x", "n"]}]}], " ", SubscriptBox["\[SucceedsEqual]", TemplateBox[{"n"}, "SemidefiniteConeList"]], RowBox[{"0", "."}]}]}]}], TraditionalForm]],ExpressionUUID-> "6152b7eb-96a7-4daa-a5bc-6197b23bd6ea"], "\n" }], "ExampleText", CellChangeTimes->{{3.74852404633294*^9, 3.74852408359612*^9}, { 3.748524442704534*^9, 3.748524442704623*^9}, {3.748524802181282*^9, 3.748524900802022*^9}, {3.7485249327451763`*^9, 3.748525040612813*^9}, { 3.7485256146686993`*^9, 3.748525648691246*^9}, {3.748525856522016*^9, 3.748525857226522*^9}, {3.748525937098907*^9, 3.748525937688322*^9}, { 3.7485264408582087`*^9, 3.7485264702275352`*^9}, {3.748526500800581*^9, 3.748526531815679*^9}, {3.7485266145553627`*^9, 3.748526614827774*^9}, { 3.7485268865686903`*^9, 3.748526890561022*^9}, {3.748526927573875*^9, 3.748526967708537*^9}, 3.748527121775072*^9, 3.748527161324849*^9, { 3.748734745167357*^9, 3.7487347457103033`*^9}, {3.748867840297205*^9, 3.748867840297332*^9}, {3.7489500726011868`*^9, 3.748950078592287*^9}, { 3.781253025774597*^9, 3.781253031644391*^9}, {3.7812531020273848`*^9, 3.781253164952516*^9}, {3.781253294629383*^9, 3.7812532948948307`*^9}}, FontSize->24,ExpressionUUID->"1e8e06d5-4c5d-4583-9c05-0505a6880fac"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"41b20b7c-56d4-42a6-9769-e273b7128683"], Cell[CellGroupData[{ Cell["Mixed Integer Linear Optimization ", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.78110598573814*^9, 3.781105991806733*^9}, {3.781107833044688*^9, 3.7811078397445583`*^9}, {3.781107888946319*^9, 3.7811078909547663`*^9}},ExpressionUUID->"de90c945-eb48-4a78-b3f3-\ 2e0ece70493a"], Cell[TextData[{ "\t\t\t\t\t\t\t\tMinimize \t", Cell[BoxData[ FormBox[ RowBox[{"c", ".", "x"}], TraditionalForm]],ExpressionUUID-> "85175610-37b4-4b25-b591-89ee11197955"], "\n\t\t\t\t\t\t\t\tsubject to\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"a", ".", "x"}], "+", "b"}], "\[VectorGreaterEqual]", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "eq"], ".", "x"}], "+", SubscriptBox["b", "eq"]}], "=", "0"}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "i"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "m", ",", " ", RowBox[{ SubscriptBox["x", "s"], "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"m", "+", "1"}]}], ",", "\[Ellipsis]", ",", "n"}], TraditionalForm]],ExpressionUUID->"0638dcbd-41dc-481a-a252-2e4702747091"] }], "ExampleText", CellChangeTimes->{{3.748528131285658*^9, 3.748528216041956*^9}, { 3.748537127841538*^9, 3.748537129448493*^9}, {3.748730253052623*^9, 3.748730261676433*^9}, {3.748734440034425*^9, 3.7487344673765497`*^9}, { 3.7487345891243887`*^9, 3.748734597155334*^9}, {3.748734765718381*^9, 3.748734766557351*^9}, {3.7487758008886213`*^9, 3.748775820783801*^9}, { 3.7487775079469023`*^9, 3.748777509322998*^9}, {3.781108127497672*^9, 3.781108219462894*^9}, {3.781108328216036*^9, 3.781108342695314*^9}, { 3.781253310737755*^9, 3.781253313952731*^9}, {3.781338503760803*^9, 3.7813385056713533`*^9}}, FontSize->18, Background->RGBColor[ 0.87, 0.94, 1],ExpressionUUID->"53fc17af-5f2b-4eab-83b6-31ba13d1b6cb"], Cell[TextData[{ "LinearOptimization[objective, constraints, vars]\n\ LinearOptimization[c,{a,b}, ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["dom", "1"], ",", SubscriptBox["dom", "2"], ",", "..."}]}], TraditionalForm]], FormatType->"TraditionalForm",ExpressionUUID-> "3b1a01f8-16f6-4740-ad89-8cba600697af"], "}]\nLinearOptimization[c,{a,b},{aeq,beq},", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["dom", "1"], ",", SubscriptBox["dom", "2"], ",", "..."}]}], TraditionalForm]], FormatType->"TraditionalForm",ExpressionUUID-> "84a2b744-d46c-47bf-892b-2bda4d498172"], "}]" }], "Program", CellChangeTimes->{{3.748775024182919*^9, 3.748775232206883*^9}, { 3.748775384833914*^9, 3.748775491252108*^9}, {3.7487757951449347`*^9, 3.748775798087826*^9}, {3.748775915899232*^9, 3.748775930226514*^9}, { 3.781108255998836*^9, 3.78110829888448*^9}},ExpressionUUID->"ce8ed7c6-15e2-4a8e-8c11-\ b2b71e826509"], Cell["\t\[Bullet] Also called Mixed Integer LinearProgramming (MILP).", \ "ExampleText", CellChangeTimes->{{3.748731029940851*^9, 3.748731133728335*^9}, { 3.7487321169289494`*^9, 3.7487321486147957`*^9}, {3.74877624129391*^9, 3.7487762514933977`*^9}, {3.781108364355486*^9, 3.7811083687461443`*^9}, { 3.7813410876242113`*^9, 3.78134109318231*^9}}, FontSize->18,ExpressionUUID->"438077e5-d6eb-4bcc-8306-2659fc58322b"], Cell["\<\ \t\[Bullet] Branch and Cut method used to solve mixed integer problems.\ \>", "ExampleText", CellChangeTimes->{{3.748731029940851*^9, 3.748731133728335*^9}, { 3.7487321169289494`*^9, 3.7487321486147957`*^9}, {3.74877627956433*^9, 3.748776319474689*^9}, {3.7811804141594687`*^9, 3.7811804290760193`*^9}}, FontSize->18,ExpressionUUID->"cb7f8c9e-7cd7-4a29-b803-1b974bcf9305"], Cell["\<\ \t\[Bullet] Mixed integer problems can only handle machine precision \ computations.\ \>", "ExampleText", CellChangeTimes->{{3.748731029940851*^9, 3.748731133728335*^9}, { 3.7487321169289494`*^9, 3.7487321486147957`*^9}, {3.74877627956433*^9, 3.748776319474689*^9}, {3.781341053427457*^9, 3.781341074493723*^9}}, FontSize->18,ExpressionUUID->"accc795b-eb3e-40fc-94cc-34227d6e4c1c"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"8e4417ad-25d8-4c91-ac5f-4d0c7d9bbafe"], Cell[CellGroupData[{ Cell["Mixed Integer Linear Optimization ", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.78110598573814*^9, 3.781105991806733*^9}, {3.781107833044688*^9, 3.7811078397445583`*^9}, {3.781107888946319*^9, 3.7811078909547663`*^9}},ExpressionUUID->"686cb444-9734-4620-8b79-\ 8f64f0033a2a"], Cell[TextData[{ "\t\t\t\t\t\t\t\tMinimize \t", Cell[BoxData[ FormBox[ RowBox[{"c", ".", "x"}], TraditionalForm]],ExpressionUUID-> "c40b74ac-f055-4a3d-bd21-53d61e781085"], "\n\t\t\t\t\t\t\t\tsubject to\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"a", ".", "x"}], "+", "b"}], "\[VectorGreaterEqual]", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "eq"], ".", "x"}], "+", SubscriptBox["b", "eq"]}], "=", "0"}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "i"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "m", ",", " ", RowBox[{ SubscriptBox["x", "s"], "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"m", "+", "1"}]}], ",", "\[Ellipsis]", ",", "n"}], TraditionalForm]],ExpressionUUID->"0e5017b6-7227-4990-a516-85121d7a5e51"] }], "ExampleText", CellChangeTimes->{{3.748528131285658*^9, 3.748528216041956*^9}, { 3.748537127841538*^9, 3.748537129448493*^9}, {3.748730253052623*^9, 3.748730261676433*^9}, {3.748734440034425*^9, 3.7487344673765497`*^9}, { 3.7487345891243887`*^9, 3.748734597155334*^9}, {3.748734765718381*^9, 3.748734766557351*^9}, {3.7487758008886213`*^9, 3.748775820783801*^9}, { 3.7487775079469023`*^9, 3.748777509322998*^9}, {3.781108127497672*^9, 3.781108219462894*^9}, {3.781108328216036*^9, 3.781108342695314*^9}, { 3.781253318270409*^9, 3.7812533217829*^9}, {3.781338484178217*^9, 3.7813384986172667`*^9}}, FontSize->18, Background->RGBColor[ 0.87, 0.94, 1],ExpressionUUID->"19025102-71b4-4d71-becd-1b162d719bf1"], Cell[TextData[{ "LinearOptimization[objective, constraints, vars]\n\ LinearOptimization[c,{a,b}, ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["dom", "1"], ",", SubscriptBox["dom", "2"], ",", "..."}]}], TraditionalForm]], FormatType->"TraditionalForm",ExpressionUUID-> "8e373867-e328-41db-915f-1536520ab549"], "}]\nLinearOptimization[c,{a,b},{aeq,beq},", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["dom", "1"], ",", SubscriptBox["dom", "2"], ",", "..."}]}], TraditionalForm]], FormatType->"TraditionalForm",ExpressionUUID-> "c66923e6-fd7d-456a-a9ba-a272058803d8"], "}]" }], "Program", CellChangeTimes->{{3.748775024182919*^9, 3.748775232206883*^9}, { 3.748775384833914*^9, 3.748775491252108*^9}, {3.7487757951449347`*^9, 3.748775798087826*^9}, {3.748775915899232*^9, 3.748775930226514*^9}, { 3.781108255998836*^9, 3.78110829888448*^9}},ExpressionUUID->"fec1fd35-3fab-4e85-9905-\ 34ce7826e6f1"], Cell[TextData[{ StyleBox["\tMinimize ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{"x", "+", "y"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"48020671-14c3-4ca8-aab5-d0d295401e00"], StyleBox[" subject to the constraints ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"x", "+", RowBox[{"2", "y"}]}], "\[Equal]", "3"}], ",", RowBox[{"x", "\[GreaterEqual]", "0.5"}], ",", RowBox[{"y", "\[GreaterEqual]", "0"}], ",", " ", RowBox[{"x", "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"y", "\[Element]", "\[DoubleStruckCapitalR]"}]}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"b2377e16-3b39-47e7-8e82-81a76b280233"], StyleBox[":", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.7312344544465027`*^9, 3.7312345690368443`*^9}, { 3.735053728097324*^9, 3.735053731290338*^9}, 3.7480983457604523`*^9, { 3.7723675127251263`*^9, 3.772367540373506*^9}, {3.781108535013834*^9, 3.781108535925784*^9}, 3.7811085778269444`*^9}, CellID->2129171342,ExpressionUUID->"880602fa-917f-4c95-b2be-b96f2897de9f"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"LinearOptimization", "[", RowBox[{ RowBox[{"x", "+", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"x", "+", RowBox[{"2", "y"}]}], "\[Equal]", "3"}], ",", RowBox[{"x", "\[GreaterEqual]", "0.5"}], ",", RowBox[{"y", "\[GreaterEqual]", "0"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[Element]", "Integers"}], ",", "y"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.7723674567426653`*^9, 3.772367498374569*^9}, { 3.7813410070681047`*^9, 3.78134102633361*^9}, {3.781341364420866*^9, 3.7813413648668003`*^9}}, CellLabel->"In[47]:=", CellID->1119638293,ExpressionUUID->"d36243d5-a495-4a91-8dee-04dcb25dd1aa"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"x", "\[Rule]", "1"}], ",", RowBox[{"y", "\[Rule]", "1.`"}]}], "}"}]], "Output", CellChangeTimes->{{3.781341012510666*^9, 3.781341019167268*^9}, { 3.781341354941225*^9, 3.7813413652729807`*^9}}, CellLabel->"Out[47]=",ExpressionUUID->"4cb65f49-917d-441f-b6d4-d36f7705f6f2"] }, Open ]], Cell[TextData[StyleBox["\tUse the equivalent matrix representation:", FontSize->18]], "ExampleText", CellChangeTimes->{{3.772367563953134*^9, 3.7723675721471453`*^9}, { 3.78110854303377*^9, 3.7811085433303003`*^9}, 3.781108610674973*^9}, CellID->243664146,ExpressionUUID->"3bbb31c0-4309-41ba-9306-7cb9584ea290"], Cell[BoxData[ RowBox[{"LinearOptimization", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", "0"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], "}"}], ",", RowBox[{"{", RowBox[{"-", "3"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{"Integers", ",", "Reals"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.77236757313536*^9, 3.7723676151853848`*^9}}, CellLabel->"In[4]:=", CellID->1277625649,ExpressionUUID->"6d5acf2c-eccd-4d85-8a96-4f0b385ea1bc"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"f9e0910a-9bdc-4c48-b953-0e417352c41c"], Cell[CellGroupData[{ Cell["Conic Optimization Models", "Section", CellChangeTimes->{{3.748523057429144*^9, 3.748523065491868*^9}, { 3.748526116999317*^9, 3.748526117854617*^9}, {3.7813393946234083`*^9, 3.781339396189474*^9}},ExpressionUUID->"dd39d731-ff68-4566-9a47-\ 7702b71b2c3b"], Cell[BoxData[ RowBox[{"\t", GraphicsBox[{ CircleBox[{0.6918337874937497, 0.4984892787524402}, \ {0.5577745629343882, 0.45618908382066203}], CircleBox[{1.0630017452006983, 0.49005235602094255}, \ {0.10104712041884811, 0.09773123909249581}], CircleBox[{0.799301919720768, 0.49659822207678944}, \ {0.41361256544502645, 0.27835951134380454}], CircleBox[{0.9921465968586384, 0.4869109947643989}, \ {0.18935427574171004, 0.17277486910994766}], CircleBox[{0.9092495636998255, 0.4956369982548001}, \ {0.2914485165794066, 0.22338568935427583}], CircleBox[{0.7038394415357766, 0.4987783595113435}, \ {0.5335078534031409, 0.3455497382198953}], InsetBox[ StyleBox[Cell[TextData[StyleBox["Convex Optimization", FontSize->20]], GeneratedCell->False, CellAutoOverwrite->False, CellBaseline->Baseline, TextAlignment->Left,ExpressionUUID-> "34735664-423a-4e64-9bf3-112879defb99"], Background->GrayLevel[1.]], {0.4834205933682372, 0.8708551483420603}, { Left, Baseline}, {0.35427574171029674, 0.047120418848167554}, {{1., 0.}, {0., 1.}}, Alignment->{Left, Top}], InsetBox[ StyleBox[ GraphicsBox[ StyleBox[InsetBox[ StyleBox[ RowBox[{"Semidefinite", " ", "Optimization"}], FontSize->16, FontWeight->"Bold"], Scaled[{0.380628272251309, 0.5308900523560209}], Center, {0.20069808027923214, 0.13263525305410123}, {{1., 0.}, {0., 1.}}], FontSize->14]], FontSize->20], Scaled[{0.22945026178010505, 0.6190226876090759}], Center, {0.20069808027923214, 0.09249563699825482}, {{1., 0.}, {0., 1.}}], InsetBox[ StyleBox[ RowBox[{"Linear", " ", "Optimization"}], FontSize->16], Scaled[{0.7958115183246086, 0.49476439790575943}], Center, {0.20069808027923214, 0.09249563699825482}, {{1., 0.}, {0., 1.}}], StyleBox[InsetBox[ StyleBox[ RowBox[{"Second", " ", "Order", " ", "Cone", " ", "Optimization"}], FontSize->16], Scaled[{0.5392670157068068, 0.4892379290285046}], Center, {0.20069808027923214, 0.13263525305410123}, {{1., 0.}, {0., 1.}}], FontSize->14], InsetBox[ StyleBox[Cell["", CellBaseline->Baseline, TextAlignment->Left,ExpressionUUID-> "45b1edd3-8c38-42a8-930c-4b974f50a337"], TextAlignment->Center, TextJustification->0, FontSize->16, Background->GrayLevel[1.]], {0.8516579406631763, 0.469458987783595}, { Left, Baseline}, Alignment->{Left, Top}], InsetBox[ StyleBox[ RowBox[{"Quadratic", " ", "Optimization"}], FontSize->16], Scaled[{0.6710296684118677, 0.45317044793484607}], Center, {0.20069808027923214, 0.09249563699825482}, {{1., 0.}, {0., 1.}}], StyleBox[InsetBox[ StyleBox[ RowBox[{"Semidefinite", " ", "Optimization"}], FontSize->16, FontWeight->"Bold"], Scaled[{0.380628272251309, 0.5308900523560209}], Center, {0.20069808027923214, 0.13263525305410123}, {{1., 0.}, {0., 1.}}], FontSize->14], StyleBox[InsetBox[ StyleBox[ RowBox[{"Conic", " ", "Optimization"}], FontSize->16, FontWeight->"Bold"], Scaled[{0.22382198952879587, 0.5820244328097733}], Center, {0.20069808027923214, 0.13263525305410123}, {{1., 0.}, {0., 1.}}], FontSize->14]}, ContentSelectable->True, ImageMargins->{{43.000000000000306`, 0.}, {1.1367018437624665`*^-12, 0.}}, ImagePadding->{{0., 0.}, {0., 0.}}, ImageSize->{699.6749999999979, 538.4}, PlotRange->{{0., 1.3333333333333335`}, {0., 1.}}, PlotRangePadding->Automatic]}]], "Input", CellChangeTimes->{{3.7480843496974354`*^9, 3.7480843672322655`*^9}, { 3.748084403893859*^9, 3.748084434485197*^9}, {3.748084484478951*^9, 3.7480845050559483`*^9}, {3.7480845533204937`*^9, 3.7480847262988667`*^9}, {3.7480850108909674`*^9, 3.748085295971239*^9}, 3.748085358134525*^9, {3.7480854125203857`*^9, 3.7480854758240747`*^9}, { 3.7488615879000387`*^9, 3.7488616398004456`*^9}, {3.748861683867365*^9, 3.7488617338230405`*^9}, {3.7489471884442725`*^9, 3.74894731840928*^9}, { 3.7489473563722944`*^9, 3.7489474072053895`*^9}, {3.7811058500051737`*^9, 3.781105913681876*^9}},ExpressionUUID->"ae288b35-7b69-48dc-82f7-\ 64e27f2b4f0b"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"f55ab41d-f06e-47d4-bb7d-09f40c09f5bb"], Cell[CellGroupData[{ Cell["Mixed Integer Conic Optimization", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.781110029936902*^9, 3.781110063073354*^9}, {3.7812529593911333`*^9, 3.781252969498938*^9}, {3.781253449604496*^9, 3.781253453611867*^9}},ExpressionUUID->"415826ce-7a70-4691-978b-\ 63b7e4fe7ad1"], Cell[TextData[{ " Minimize ", Cell[BoxData[ FormBox[ RowBox[{"c", ".", "x"}], TraditionalForm]],ExpressionUUID-> "df068f8b-a818-497b-b290-9551d088f16b"], ",\n\t\t subject to\t ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "0"], ".", "x"}], "+", SubscriptBox["b", "0"]}], "=", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "j"], ".", "x"}], "+", SubscriptBox["b", "j"]}], SubscriptBox["\[VectorGreaterEqual]", SubscriptBox["\[Kappa]", "j"]], "0"}], ",", " ", RowBox[{"j", "=", RowBox[{ RowBox[{"1", "..."}], " ", "k"}]}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "j"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", RowBox[{"j", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "k", ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "s"], " ", "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"k", "+", "1"}]}], ",", "\[Ellipsis]", ",", RowBox[{"n", ".", " "}]}], TraditionalForm]],ExpressionUUID-> "21777b54-225a-4cc7-bc68-97ddd0d6848a"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107504743473*^9, 3.781107626025947*^9}, {3.781107726924037*^9, 3.781107734016706*^9}, {3.781253416459194*^9, 3.78125344455184*^9}, { 3.781294875915963*^9, 3.781294876276431*^9}, {3.781338569271945*^9, 3.78133859312151*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"fb316789-fc66-4e96-9401-279509c93598"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"f06b9537-dba1-4696-9b6e-d81f42d56e54"], Cell[CellGroupData[{ Cell["Mixed Integer Conic Optimization", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.781110029936902*^9, 3.781110063073354*^9}, {3.7812529593911333`*^9, 3.781252969498938*^9}, {3.781253449604496*^9, 3.781253453611867*^9}},ExpressionUUID->"53ee100c-268f-4da1-a3a9-\ e2257c6c02e4"], Cell[TextData[{ "Minimize \t ", Cell[BoxData[ FormBox[ RowBox[{"c", ".", "x"}], TraditionalForm]],ExpressionUUID-> "9905f2ff-9f72-4320-9ca7-564a95d4acb6"], ",\n\t\t subject to\t ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "0"], ".", "x"}], "+", SubscriptBox["b", "0"]}], "=", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "j"], ".", "x"}], "+", SubscriptBox["b", "j"]}], SubscriptBox["\[VectorGreaterEqual]", SubscriptBox["\[Kappa]", "j"]], "0"}], ",", " ", RowBox[{"j", "=", RowBox[{ RowBox[{"1", "..."}], " ", "k"}]}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "j"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", RowBox[{"j", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "k", ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "s"], " ", "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"k", "+", "1"}]}], ",", "\[Ellipsis]", ",", RowBox[{"n", ".", " "}]}], TraditionalForm]],ExpressionUUID-> "c0bde049-aa9a-498f-85ea-4ba93adf897d"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107504743473*^9, 3.781107626025947*^9}, {3.781107726924037*^9, 3.781107734016706*^9}, {3.781253416459194*^9, 3.78125344455184*^9}, { 3.7812948684059343`*^9, 3.7812948692707157`*^9}, {3.78133860188966*^9, 3.781338603422229*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"d381d582-9e86-41c7-b302-642b83b2496a"], Cell[BoxData["\[IndentingNewLine]"], "Input", CellChangeTimes->{ 3.781253602876342*^9},ExpressionUUID->"0e8e3c28-fc21-4047-8a9e-\ aa04ea55a294"], Cell[BoxData[GridBox[{ {Cell[" ", "TableRowIcon",ExpressionUUID-> "c729f9fd-8030-4ed0-a9c9-f2132f8dd86f"], RowBox[{"{", RowBox[{"\"\\"", ",", " ", StyleBox["n", "TI"]}], "}"}], Cell[TextData[Cell[BoxData[ Cell[TextData[Cell[BoxData[Cell[TextData[Cell[BoxData[ FormBox[ SubsuperscriptBox["\[DoubleStruckCapitalR]", RowBox[{"\[GreaterEqual]", "0"}], "n"], TraditionalForm]], "InlineMath",ExpressionUUID->"8f21a31f-6742-4c6e-96e2-b4ab8ed27806"]], "TableText",ExpressionUUID->"f9be6404-2ece-4163-8310-f54729849443"]], ExpressionUUID->"91befe5c-ef2d-47b1-8a40-dba25d3fa401"]], "TableText", ExpressionUUID->"f0861ac5-6746-4e38-8c43-68d332097312"]],ExpressionUUID-> "ef104845-a587-4f5c-8e28-0105e3051073"]], "TableText",ExpressionUUID-> "5b9a572c-1ffc-4f44-84c2-6a0e3ded0c1d"], Cell[TextData[Cell[BoxData[ Cell[TextData[{ " ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"b10fad9f-b7ea-4565-b960-5f50a454bc55"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", "i"], "\[GreaterEqual]", "0"}], TraditionalForm]], "InlineMath",ExpressionUUID->"a180d978-d33c-4d74-addc-cc2a7de954d4"] }], "TableText",ExpressionUUID->"9178e982-173c-4620-a4d8-fe7ce2027a4a"]], ExpressionUUID->"5d4b3fb5-d4bc-4c68-aee3-ab9146fcce17"]], "TableText", ExpressionUUID->"c01d70f3-2193-4c14-b536-fad2e6c5176f"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "ef235cdc-834b-44fc-baf7-ae9b5f1b7a93"], RowBox[{"{", RowBox[{"\"\\"", ",", " ", StyleBox["n", "TI"]}], "}"}], Cell[TextData[Cell[BoxData[ Cell[TextData[Cell[BoxData[Cell[TextData[Cell[BoxData[ FormBox[ SuperscriptBox["\[ScriptCapitalQ]", "n"], TraditionalForm]], "InlineMath",ExpressionUUID->"0610135a-e9eb-4f0e-a25c-95f43235fa45"]], "TableText",ExpressionUUID->"676b79b8-1783-42a0-9d2d-6455f7506468"]], ExpressionUUID->"007af07c-dad8-40d8-b5a2-c83e900c6a98"]], "TableText", ExpressionUUID->"c120352e-54db-4e40-a48c-cde00b7de07f"]],ExpressionUUID-> "6d2f242d-01f8-4ce3-903d-8320e4c5cdcd"]], "TableText",ExpressionUUID-> "cafa401e-712a-46ed-a604-98aa6b057caf"], Cell[TextData[Cell[BoxData[ Cell[TextData[{ Cell[BoxData[ FormBox[ RowBox[{" ", FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}], TraditionalForm], " "}], TraditionalForm]], "InlineMath", ExpressionUUID->"3d977dc5-97fb-4a9d-b14a-f7cb9e9da12e"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ TemplateBox[{RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", "\[Ellipsis]", ",", SubscriptBox["x", RowBox[{"n", "-", "1"}]]}], "}"}]}, "Norm"], "\[LessEqual]", SubscriptBox["x", "n"]}], TraditionalForm]], "InlineMath", ExpressionUUID->"bb5be780-b34d-436e-9ef2-61b7d1f28acc"] }], "TableText",ExpressionUUID->"f2792c64-428e-41bf-93f5-42a17764231e"]], ExpressionUUID->"e01c0a82-fb03-4883-a596-13cf9baec67a"]], "TableText", ExpressionUUID->"96ff6dd3-dbff-4174-aecf-17443cdd7550"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "7d0caf14-f4f9-4fad-9161-ddf8665d6a4f"], RowBox[{"{", RowBox[{"\"\\"", ",", " ", StyleBox["n", "TI"]}], "}"}], Cell[TextData[Cell[BoxData[ Cell[TextData[Cell[BoxData[ FormBox[ SubsuperscriptBox["\[ScriptCapitalS]", "+", "n"], TraditionalForm]], "InlineMath",ExpressionUUID->"8b21a097-d9c4-46cc-b476-131120065566"]], "TableText",ExpressionUUID->"373c54b2-58cd-4e56-96af-4a1ac870122e"]], ExpressionUUID->"3bc2af32-ab98-49a4-a294-82dab2aaf794"]], "TableText", ExpressionUUID->"8f5ecedb-b560-495b-aba2-ce43fc25be74"], Cell[TextData[{ "symmetric positive semidefinite matrices ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", RowBox[{"n", "\[Times]", "n"}]]}], TraditionalForm]], "InlineMath", ExpressionUUID->"8197b20b-b299-4e51-94d6-9b8cc8956eb8"] }], "TableText",ExpressionUUID->"571ed7f5-a849-4254-abaf-960985cd18b8"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "37851d5f-63cd-420f-9991-abd235c24e94"], "\"\\"", Cell[ TextData[Cell[BoxData[Cell[TextData[Cell[BoxData[ FormBox[ SubscriptBox["\[ScriptCapitalK]", "exp"], TraditionalForm]], "InlineMath",ExpressionUUID->"40615ac1-271e-44e1-85ca-6b9f44160606"]], "TableText",ExpressionUUID->"d68e1c7d-e645-438e-bf12-b0064a297530"]], ExpressionUUID->"00cfbc2f-9c31-430c-8937-19983f5626a1"]], "TableText", ExpressionUUID->"b87bd97e-2c74-4d0e-88b9-a0f4fb287a5d"], Cell[TextData[{ " ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "3"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"39b4de37-0a3e-4df8-b9f0-69719840c6ad"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "2"], SuperscriptBox["\[ExponentialE]", RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], "/", SubscriptBox["x", "2"]}], ")"}]]}], "\[LessEqual]", SubscriptBox["x", "3"]}], "\[And]", RowBox[{ SubscriptBox["x", "2"], "\[GreaterEqual]", "0"}]}], TraditionalForm]], "InlineMath",ExpressionUUID-> "31d0efd1-4620-48ff-a849-29b401956384"] }], "TableText",ExpressionUUID->"2e5eb56f-6f8b-46d1-8563-de4f0c8349f2"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "02fcfbee-769d-4604-9cdb-2b01e0a60db3"], "\"\\"", Cell[TextData[Cell[BoxData[Cell[TextData[Cell[BoxData[ FormBox[Cell[TextData[Cell[BoxData[ FormBox[ SubsuperscriptBox["\[ScriptCapitalK]", "exp", "*"], TraditionalForm]], "InlineMath",ExpressionUUID-> "ec67b18d-5837-4802-ae9f-e1ef25ffa040"]], "TableText",ExpressionUUID-> "3e00eaf1-0bb6-4230-8b49-fda96a48bdc1"], TraditionalForm]], "InlineMath",ExpressionUUID->"0dfe357d-a57a-4b84-bbbd-651ab99bf7a5"]], "TableText",ExpressionUUID->"7bada14a-9868-49dd-b015-2d56aa129eef"]], ExpressionUUID->"267f0f5b-4499-49e4-a111-89332edc5709"]], "TableText", ExpressionUUID->"0342399b-fdd0-4da0-a472-ea838f07e40e"], Cell[TextData[{ " ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "3"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"8d77bac1-3816-41c4-9d51-230fbd76fe7d"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", SubscriptBox["x", "1"]}], SuperscriptBox["\[ExponentialE]", RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["x", "2"], "/", SubscriptBox["x", "1"]}], "-", "1"}], ")"}]]}], "\[LessEqual]", SubscriptBox["x", "3"]}], "\[And]", RowBox[{ SubscriptBox["x", "1"], "<", "0"}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"88e87849-fc1e-4a94-a947-b4e248e41428"], " or ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["x", "1"], "\[LongEqual]", "0"}], "\[And]", RowBox[{ SubscriptBox["x", "2"], "\[LongEqual]", "0"}], "\[And]", RowBox[{ SubscriptBox["x", "3"], "\[LongEqual]", "0"}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"b4e23476-943d-44b8-9f8e-ed5778abe878"] }], "TableText",ExpressionUUID->"cba36897-9b2b-4ab6-9912-1b03923d67b1"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "18bb534b-0b7b-405b-a582-12940fa9ecd0"], RowBox[{"{", RowBox[{"\"\\"", ",", StyleBox["\[Alpha]", "TR"]}], "}"}], Cell[TextData[Cell[BoxData[ Cell[TextData[Cell[BoxData[ FormBox[ SubscriptBox["\[ScriptCapitalK]", "\[Alpha]"], TraditionalForm]], "InlineMath",ExpressionUUID->"84df0efa-fa37-4f8a-9402-a6689ee18609"]], "TableText",ExpressionUUID->"fd5cb214-703d-4fab-9ef4-fd8f90b16a3b"]], ExpressionUUID->"2924c71a-803a-468d-9022-40b8bf9f618e"]], "TableText", ExpressionUUID->"17c9bdcf-9557-42c7-83c1-510dfe6735e2"], Cell[TextData[{ " ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "3"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"5ab5ea05-be65-47d2-9a5d-c7fff0d39647"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{Cell[TextData[Cell[BoxData[ FormBox[ SubsuperscriptBox["x", "1", "\[Alpha]"], TraditionalForm]], "InlineMath",ExpressionUUID-> "bee85605-b25b-4394-b7ec-40ffae459326"]], "TableText", ExpressionUUID->"18cf5ec8-9b36-47f2-9ece-4e975a8b53ea"], SubsuperscriptBox["x", "2", RowBox[{"1", "-", "\[Alpha]"}]]}], "\[GreaterEqual]", RowBox[{"\[LeftBracketingBar]", SubscriptBox["x", "3"], "\[RightBracketingBar]"}]}], "\[And]", RowBox[{ SubscriptBox["x", "1"], "\[GreaterEqual]", "0"}], " ", "\[And]", RowBox[{ SubscriptBox["x", "2"], "\[GreaterEqual]", "0"}]}], TraditionalForm]], "InlineMath",ExpressionUUID-> "0ea1a91d-e3d7-487d-9d4f-193ec683aa9e"] }], "TableText",ExpressionUUID->"98dfb835-dac7-41f0-ad4a-7e4c3e485904"]}, {Cell[" ", "TableRowIcon",ExpressionUUID-> "a4b6646e-0d02-4ae9-b099-4c641dfc7032"], RowBox[{"{", RowBox[{"\"\\"", ",", StyleBox["\[Alpha]", "TR"]}], "}"}], Cell[TextData[Cell[BoxData[ FormBox[ SubsuperscriptBox["\[ScriptCapitalK]", "\[Alpha]", "*"], TraditionalForm]], "InlineMath",ExpressionUUID-> "34a27c29-b665-4cb2-b1ff-68be9ab13a2a"]], "TableText",ExpressionUUID-> "3cc34dcc-68d6-4901-a9b4-691b17839861"], Cell[TextData[{ " ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "3"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"08ead429-227b-4b2e-8421-4320e2220462"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], "/", "\[Alpha]"}], ")"}], "\[Alpha]"], SuperscriptBox[ RowBox[{"(", RowBox[{ SubscriptBox["x", "2"], "/", RowBox[{"(", RowBox[{"1", "-", "\[Alpha]"}], ")"}]}], ")"}], RowBox[{"1", "-", "\[Alpha]"}]]}], TraditionalForm]], "InlineMath",ExpressionUUID-> "58945cbc-7470-43c7-9865-be9f8ee89641"]], "TableText", ExpressionUUID->"75f9a4af-836d-4e1a-b962-95f6de4cbb9d"], "\[GreaterEqual]", RowBox[{"\[LeftBracketingBar]", SubscriptBox["x", "3"], "\[RightBracketingBar]"}]}], "\[And]", RowBox[{ SubscriptBox["x", "1"], "\[GreaterEqual]", "0"}], " ", "\[And]", RowBox[{ SubscriptBox["x", "2"], "\[GreaterEqual]", "0"}]}], TraditionalForm]], "InlineMath",ExpressionUUID-> "763a703d-6117-458e-a1a6-8918bc8da289"] }], "TableText",ExpressionUUID->"09f60a10-78a4-497f-893f-3f9fe831e2a5"]} }]], "3ColumnTableMod", TextAlignment->Center, FontSize->18, GridBoxOptions->{ GridBoxBackground->{ "Columns" -> {{None}}, "Rows" -> {None, None, None, None, None, None, {None}}}, GridBoxDividers->{ "Rows" -> {{True, True, True, True, True, True, True, True}}}}, CellID->38885743,ExpressionUUID->"65a3e944-9a3e-437e-b7c2-084536e6a937"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"b077eaae-3779-43f0-b5c3-ae7aa200119e"], Cell[CellGroupData[{ Cell["Mixed Integer Conic Optimization", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.781110029936902*^9, 3.781110063073354*^9}, {3.7812529593911333`*^9, 3.781252969498938*^9}, {3.781253449604496*^9, 3.781253453611867*^9}},ExpressionUUID->"3c94c2dd-3776-4a8f-9568-\ bb26fe07f078"], Cell[TextData[{ "Minimize \t ", Cell[BoxData[ FormBox[ RowBox[{"c", ".", "x"}], TraditionalForm]],ExpressionUUID-> "472a86b7-d34b-4a28-98e9-215bed0b925d"], ",\n\t\t subject to\t ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "0"], ".", "x"}], "+", SubscriptBox["b", "0"]}], "=", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "j"], ".", "x"}], "+", SubscriptBox["b", "j"]}], SubscriptBox["\[VectorGreaterEqual]", SubscriptBox["\[Kappa]", "j"]], "0"}], ",", " ", RowBox[{"j", "=", RowBox[{ RowBox[{"1", "..."}], " ", "k"}]}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "j"], "\[Element]", "\[DoubleStruckCapitalR]"}], ",", RowBox[{"j", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "k", ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["x", "s"], " ", "\[Element]", "\[DoubleStruckCapitalZ]"}], ",", " ", RowBox[{"s", "=", RowBox[{"k", "+", "1"}]}], ",", "\[Ellipsis]", ",", RowBox[{"n", ".", " "}]}], TraditionalForm]],ExpressionUUID-> "2e286b37-a563-4256-ba3f-c560968eca6b"] }], "ExampleText", CellChangeTimes->{{3.748527286384218*^9, 3.7485273153037567`*^9}, { 3.748527354909669*^9, 3.748527382227744*^9}, {3.748949565164089*^9, 3.7489495655635853`*^9}, {3.748949914924678*^9, 3.748949923299597*^9}, { 3.781107504743473*^9, 3.781107626025947*^9}, {3.781107726924037*^9, 3.781107734016706*^9}, {3.781253416459194*^9, 3.78125344455184*^9}, { 3.781294862773649*^9, 3.781294863960146*^9}, {3.7813386293534327`*^9, 3.781338630904315*^9}}, TextAlignment->Center, FontSize->30,ExpressionUUID->"e1bdcd75-7213-4257-952c-f9b97f94ac27"], Cell[TextData[{ "\t\[Bullet] A quadratic optimization problem can transformed into a second \ order cone optimization:\n\t\t\t\t\t\t\t\t\n\t\t", Cell[BoxData[{ FormBox[ RowBox[{ RowBox[{"Minimize", " ", RowBox[{ RowBox[{"x", "\[Transpose]"}], ".", "Q", ".", "x"}]}], "+", RowBox[{"c", ".", "x"}]}], TraditionalForm], "\[IndentingNewLine]", FormBox[ RowBox[{ RowBox[{ RowBox[{"subject", " ", "to", " ", RowBox[{ SubscriptBox["a", "i"], ".", "x"}]}], "+", SubscriptBox["b", "i"]}], "\[GreaterEqual]", "0"}], TraditionalForm]}], ExpressionUUID->"852f7ae8-16ac-455a-a35d-4e3e2f8597e4"], "\t\t", Cell[BoxData[{ FormBox[ RowBox[{ RowBox[{"Minimize", " ", "y"}], "+", RowBox[{"c", ".", "x"}]}], TraditionalForm], "\[IndentingNewLine]", FormBox[ RowBox[{ RowBox[{ RowBox[{"subject", " ", "to", " ", RowBox[{"x", "\[Transpose]"}], RowBox[{ RowBox[{ SubscriptBox["Q", "f"], "\[Transpose]"}], ".", SubscriptBox["Q", "f"], ".", "x"}]}], "\[LessEqual]", "y"}], ",", "\[IndentingNewLine]", "\t\t", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], "\[GreaterEqual]", "0"}]}], TraditionalForm]}],ExpressionUUID->"e6f01c97-521f-4b8d-b625-f2b1450fdd88"], "\t", Cell[BoxData[{ FormBox[ RowBox[{ RowBox[{"Minimize", " ", "y"}], "+", RowBox[{"c", ".", "x"}]}], TraditionalForm], "\[IndentingNewLine]", FormBox[ RowBox[{ RowBox[{ RowBox[{"subject", " ", "to"}], " ", "||", RowBox[{"(", "\[NoBreak]", GridBox[{ { RowBox[{ SubscriptBox["Q", "f"], ".", "x"}]}, { FractionBox[ RowBox[{"(", RowBox[{"1", "-", "y"}], ")"}], "2"]} }], "\[NoBreak]", ")"}], "||", RowBox[{"\[LessEqual]", FractionBox[ RowBox[{"(", RowBox[{"1", "+", "y"}], ")"}], "2"]}]}], ",", "\[IndentingNewLine]", "\t\t", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "+", SubscriptBox["b", "i"]}], "\[GreaterEqual]", "0"}]}], TraditionalForm]}],ExpressionUUID->"283ef0db-fdc1-4ae4-8f51-c20c9fed857c"], "\t" }], "ExampleText", CellChangeTimes->{{3.748731029940851*^9, 3.748731133728335*^9}, { 3.7487321169289494`*^9, 3.7487321486147957`*^9}, {3.748732225987689*^9, 3.7487322474189167`*^9}, {3.7487349029750013`*^9, 3.748734934868606*^9}, { 3.7487349890769043`*^9, 3.7487350151624928`*^9}, {3.748735069498157*^9, 3.748735329398367*^9}, {3.74873537686808*^9, 3.748735405938703*^9}, { 3.748735519591555*^9, 3.748735544814283*^9}, {3.748735838993071*^9, 3.7487359033918943`*^9}, {3.748736058330276*^9, 3.748736120767199*^9}, { 3.748736153810185*^9, 3.74873618274082*^9}, {3.748736219235064*^9, 3.748736220747161*^9}, {3.748736489936606*^9, 3.7487365047506723`*^9}}, FontSize->18,ExpressionUUID->"f25a1070-42d8-47f9-8fc9-4d3a60ef6685"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"5d4ecdf1-d0c9-4f01-95c3-69baa157f047"], Cell[CellGroupData[{ Cell["Outer Approximation Algorithm", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.7811054298611526`*^9, 3.781105435289525*^9}},ExpressionUUID->"f9adb6b5-b64e-4ef5-bbcc-\ 1d93f6937451"], Cell["The original conic problem is split into two sub-problems:", "Text", CellChangeTimes->{{3.760920635419582*^9, 3.7609206356841793`*^9}}, FontSize->24,ExpressionUUID->"2a99140a-abf9-4c37-bfa9-4cf7cbb5ddac"], Cell["\t(1) A linear problem with integer constraints:", "ExampleText", CellChangeTimes->{{3.760920108241496*^9, 3.760920201558014*^9}, { 3.760920338192421*^9, 3.760920340657393*^9}, {3.760920631477701*^9, 3.760920633068666*^9}, {3.781105704560252*^9, 3.781105705272058*^9}, 3.781105753929462*^9}, FontSize->24,ExpressionUUID->"10522e71-68d5-4e7b-93bc-3412e67ff1dc"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"Min", ".", " ", "c", ".", "x"}], " ", "+", " ", RowBox[{ OverscriptBox["c", "^"], ".", "z"}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"s", ".", RowBox[{"t", ":", " ", RowBox[{ RowBox[{"A", ".", "x"}], "+", RowBox[{ OverscriptBox["A", "^"], ".", "z"}]}]}]}], "=", "b"}], ",", "\[IndentingNewLine]", " ", RowBox[{"z", "\[Element]", SuperscriptBox["\[DoubleStruckCapitalZ]", "m"]}], ",", "\[IndentingNewLine]", RowBox[{ StyleBox[ RowBox[{"\[Beta]", ".", "x"}], FontWeight->"Bold"], StyleBox["\[GreaterEqual]", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], RowBox[{ StyleBox[ RowBox[{"0", " ", RowBox[{"\[ForAll]", " ", RowBox[{"\[Beta]", "\[Element]", "T"}]}]}], FontWeight->"Bold"], "."}]}]}], TraditionalForm]], FormatType-> "TraditionalForm",ExpressionUUID->"a435382d-2034-4577-9618-8c5d92f458a2"]], \ "ExampleText", CellChangeTimes->{{3.781105594177272*^9, 3.7811056534161987`*^9}}, TextAlignment->Center, FontSize->24,ExpressionUUID->"9b8ab1f0-972f-441a-a3a9-19296aab869e"], Cell[TextData[{ " \t* Lemma: Let \[ScriptCapitalK] be a closed convex cone, then ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", "\[ScriptCapitalK]"}], TraditionalForm]], ExpressionUUID->"57e8c128-7277-46c4-a382-1d1e76ac7fe5"], " iff ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"\[Beta]", ".", "x"}], "\[GreaterEqual]", "0"}], ",", " ", RowBox[{"\[ForAll]", RowBox[{"\[Beta]", "\[Element]", SuperscriptBox["\[ScriptCapitalK]", "*"]}]}]}], TraditionalForm]], ExpressionUUID->"94e9b94e-0e41-4acc-b458-021d42215072"] }], "ExampleText", CellChangeTimes->{{3.760920410502651*^9, 3.760920498969657*^9}, 3.781105696602915*^9, {3.78110575644036*^9, 3.78110575799177*^9}, 3.781105793585037*^9}, FontSize->24,ExpressionUUID->"cbc044c5-5d1b-4293-a2a3-32c962b8c7cf"], Cell[TextData[{ "\t\n\t(2) A conic problem with the integer values ", Cell[BoxData[ FormBox[ StyleBox[ SuperscriptBox["z", "*"], FontWeight->"Bold"], TraditionalForm]],ExpressionUUID-> "cf476acf-971a-4676-a899-4930425ed192"], "obtained from the linear problem substituted in." }], "ExampleText", CellChangeTimes->{{3.760920347591625*^9, 3.760920349455752*^9}, { 3.760920524081586*^9, 3.760920526056539*^9}, {3.76092055619952*^9, 3.760920571575033*^9}, {3.781105694036849*^9, 3.781105694461123*^9}, 3.7811057609661837`*^9, {3.7811058006279087`*^9, 3.7811058023964577`*^9}, { 3.781105936224412*^9, 3.7811059374390383`*^9}}, FontSize->24,ExpressionUUID->"b84ca22d-9c1d-410a-844a-66df6eebc127"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"Min", SubscriptBox[".", "x"], " ", "c", ".", "x"}], " ", "+", " ", RowBox[{ OverscriptBox["c", "^"], ".", StyleBox[ SuperscriptBox["z", "*"], FontWeight->"Bold"]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"s", ".", RowBox[{"t", ":", " ", RowBox[{"A", ".", "x"}]}]}], "=", RowBox[{"b", "-", RowBox[{ OverscriptBox["A", "^"], ".", StyleBox[ SuperscriptBox["z", "*"], FontWeight->"Bold"]}]}]}], ",", "\[IndentingNewLine]", RowBox[{"x", "\[Element]", RowBox[{"\[ScriptCapitalK]", "."}]}]}], TraditionalForm]],ExpressionUUID->"bc000111-2add-42ed-ac6f-b7d1eeb74388"]], \ "ExampleText", CellChangeTimes->{{3.760919448367661*^9, 3.760919752122038*^9}, { 3.760919796912588*^9, 3.760919837997509*^9}, {3.760920282762685*^9, 3.76092032824088*^9}, {3.760920578974655*^9, 3.7609206140934963`*^9}, { 3.760921911107842*^9, 3.7609219115862503`*^9}}, TextAlignment->Center, FontSize->24,ExpressionUUID->"36f8f463-2644-43b0-a9f7-612524fbdaa9"], Cell[TextData[{ "\t\n\t(2a) After solving this problem, ", Cell[BoxData[ FormBox[ RowBox[{"\[Beta]", "\[Element]", SuperscriptBox["\[ScriptCapitalK]", "*"]}], TraditionalForm]], ExpressionUUID->"062e88b2-32f9-4f08-ba6c-6df170464400"], " can be obtained from the dual of the primal problem. Then \t\t ", Cell[BoxData[ FormBox[ RowBox[{"T", "\[LeftArrow]", RowBox[{"T", "\[Union]", RowBox[{"{", SubscriptBox["\[Beta]", "x"], "}"}]}]}], TraditionalForm]], ExpressionUUID->"bff0126c-e69c-445d-808c-36caa574ffdc"], "." }], "ExampleText", CellChangeTimes->{{3.7609206576458893`*^9, 3.760920797381667*^9}, { 3.7811056751655903`*^9, 3.781105683162119*^9}, 3.781105764645171*^9, { 3.781105940165209*^9, 3.781105940454217*^9}, {3.781295151117916*^9, 3.78129515853951*^9}}, FontSize->24,ExpressionUUID->"6ae3997e-49c4-4617-a23f-16ea1503fb26"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"64ab036d-704e-470b-8e0b-260454e17c58"], Cell[CellGroupData[{ Cell["Outer Approximation Algorithm: An example", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.7811066707505503`*^9, 3.781106678402524*^9}},ExpressionUUID->"c0df8f4f-80d5-4a9a-a8ea-\ 8b08aac2cc77"], Cell["Lets solve the following mixed-integer problem:", "Text", CellChangeTimes->{{3.78110670730249*^9, 3.781106775438202*^9}}, FontSize->16, FontColor->RGBColor[ 0., 0., 1.],ExpressionUUID->"a124a770-d726-4550-8dc6-5bcda3584053"], Cell[BoxData[ RowBox[{"ConicOptimization", "[", RowBox[{ RowBox[{ RowBox[{"-", "x"}], "-", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], ",", RowBox[{"y", "\[GreaterEqual]", "0.2"}], ",", RowBox[{ RowBox[{"Norm", "[", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "]"}], "\[LessEqual]", "1.5"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[Element]", "Integers"}], ",", "y"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.781102871410348*^9, 3.781102880374905*^9}, 3.781103629201067*^9, {3.781103676994699*^9, 3.781103712827241*^9}, { 3.7811039179533978`*^9, 3.7811039336178493`*^9}, {3.781104025091387*^9, 3.7811040613458157`*^9}, {3.781104156943721*^9, 3.7811041653327208`*^9}, { 3.781104249527272*^9, 3.781104254347598*^9}, {3.781104286966753*^9, 3.781104287078806*^9}}, CellLabel-> "In[162]:=",ExpressionUUID->"2a72670b-ceea-476e-aba0-38d50d7f6b0f"], Cell["1. Solve the relaxed conic problem:", "Text", CellChangeTimes->{{3.781106779372995*^9, 3.781106786753748*^9}, { 3.7811070725146303`*^9, 3.7811070730176363`*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"b9718646-a949-4b94-907c-49a4a036cc2c"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"primal", ",", "dual", ",", "affList"}], "}"}], "=", RowBox[{"ConicOptimization", "[", RowBox[{ RowBox[{ RowBox[{"-", "x"}], "-", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], ",", RowBox[{"y", "\[GreaterEqual]", "0.2"}], ",", RowBox[{ RowBox[{"Norm", "[", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "]"}], "\[LessEqual]", "1.5"}]}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", " ", "\"\\""}], "}"}], ",", " ", RowBox[{"Method", "\[Rule]", "\"\\""}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.7811023127861843`*^9, 3.78110235897991*^9}, { 3.781102439688736*^9, 3.781102465351555*^9}, {3.781102535618615*^9, 3.7811025382437*^9}, {3.781102602209084*^9, 3.781102658958799*^9}, { 3.78110372706063*^9, 3.781103765659656*^9}, {3.781104047439822*^9, 3.7811040685995817`*^9}, {3.7811041727218657`*^9, 3.781104174383634*^9}, { 3.7811043099096823`*^9, 3.7811043100119743`*^9}, {3.7811065063943233`*^9, 3.781106508416127*^9}}, CellLabel-> "In[203]:=",ExpressionUUID->"513d2391-22dc-49eb-aa42-42063ce8bc30"], Cell["2. Find the hyper-plane formed by the dual cone:", "Text", CellChangeTimes->{{3.7811067941917963`*^9, 3.781106831181427*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"8cd06424-9b73-4981-8404-f675de82c814"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b"}], "}"}], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{"dual", "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}], ".", "#"}], "&"}], "/@", RowBox[{"affList", "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"hplane1", "=", RowBox[{ RowBox[{ RowBox[{"a", ".", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}]}], "+", "b"}], "\[GreaterEqual]", "0"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"plot", "=", RowBox[{"RegionPlot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Norm", "[", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "]"}], "\[LessEqual]", "1.5"}], " ", "&&", RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], "&&", RowBox[{"y", "\[GreaterEqual]", "0.2"}]}], ",", " ", "hplane"}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "2"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", "0", ",", "2"}], "}"}], ",", RowBox[{"Epilog", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"PointSize", "[", "0.02", "]"}], ",", RowBox[{"Point", "[", RowBox[{ RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "/.", "primal"}], "]"}]}], "}"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.7811026624653673`*^9, 3.781102714279245*^9}, { 3.781103409088554*^9, 3.781103411423231*^9}, 3.7811065342368097`*^9, { 3.78110663611032*^9, 3.781106636333952*^9}},ExpressionUUID->"565d92cf-960f-4df2-9950-\ 125983561c9d"], Cell["3, Solve the linear sub-problem and get the integer values:", "Text", CellChangeTimes->{{3.781106846806347*^9, 3.781106881631144*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"c441b192-bced-4967-8f73-ba20d4f7fe0d"], Cell[BoxData[ RowBox[{"xIntVal", " ", "=", " ", RowBox[{"x", "/.", RowBox[{"LinearOptimization", "[", RowBox[{ RowBox[{ RowBox[{"-", "x"}], "-", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], ",", RowBox[{"y", "\[GreaterEqual]", "0.2"}], ",", "hplane1"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[Element]", "Integers"}], ",", "y"}], "}"}]}], "]"}]}]}]], "Input", CellChangeTimes->{{3.78110281842625*^9, 3.781102853746336*^9}, { 3.781102905869412*^9, 3.781102920829185*^9}, {3.7811038385394583`*^9, 3.781103839426568*^9}, {3.7811041010416117`*^9, 3.781104103616139*^9}, { 3.7811041835966*^9, 3.7811041848106213`*^9}, {3.781104329293479*^9, 3.781104340902663*^9}, {3.7811063098708982`*^9, 3.7811063283207703`*^9}, 3.78110654404041*^9}, CellLabel-> "In[209]:=",ExpressionUUID->"d566d5ea-dba1-4f8e-8fbb-d5353c387071"], Cell["\<\ 4. Substitute the integer values back into the relaxed conic problem and \ solve:\ \>", "Text", CellChangeTimes->{{3.781106887452721*^9, 3.7811069154487143`*^9}, { 3.781107093431226*^9, 3.7811070939216213`*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"6b45e897-df5b-4742-bc7a-c3efc405839d"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"primal", ",", "dual", ",", "affList"}], "}"}], "=", RowBox[{"ConicOptimization", "[", RowBox[{ RowBox[{ RowBox[{"-", "x"}], "-", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], ",", RowBox[{"y", "\[GreaterEqual]", "0.2"}], ",", RowBox[{ RowBox[{"Norm", "[", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "]"}], "\[LessEqual]", "1.5"}], ",", RowBox[{"x", "\[Equal]", "xIntVal"}]}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", " ", "\"\\""}], "}"}], ",", RowBox[{"Method", "\[Rule]", "\"\\""}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.781103346748542*^9, 3.7811033629727163`*^9}, { 3.781103395064865*^9, 3.781103458307035*^9}, {3.7811037973345833`*^9, 3.781103797749011*^9}, {3.781103845488574*^9, 3.781103846750248*^9}, { 3.781104129244982*^9, 3.781104129435828*^9}, {3.781104207379026*^9, 3.781104212479884*^9}, {3.781104349325824*^9, 3.7811043494749327`*^9}, { 3.781106357718494*^9, 3.781106387982049*^9}, {3.781106419122203*^9, 3.7811064468910418`*^9}, {3.781106519404477*^9, 3.781106554162953*^9}, { 3.781106922973654*^9, 3.7811069299883337`*^9}},ExpressionUUID->"2d0cdd8f-6c3f-4cea-96e9-\ f99ecb84625e"], Cell["5. Find the hyper-plane formed by the dual cone:", "Text", CellChangeTimes->{{3.7811069335276537`*^9, 3.7811069445872173`*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"2db3dfa5-0c74-4c86-abd9-bc932f5b3b8c"], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b"}], "}"}], " ", "=", " ", RowBox[{ RowBox[{ RowBox[{ RowBox[{"dual", "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}], ".", "#"}], "&"}], "/@", RowBox[{"affList", "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"hplane2", "=", RowBox[{ RowBox[{ RowBox[{"a", ".", RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}]}], "+", "b"}], "\[GreaterEqual]", "0"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"plot", ",", RowBox[{"RegionPlot", "[", RowBox[{"hplane2", ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "2"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", "0", ",", "2"}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{ RowBox[{"PointSize", "[", "0.02", "]"}], ",", RowBox[{"Point", "[", RowBox[{ RowBox[{"{", RowBox[{"x", ",", "y"}], "}"}], "/.", "primal"}], "]"}]}], "}"}], "]"}]}], "]"}]}], "Input", CellChangeTimes->{{3.781103346748542*^9, 3.7811033629727163`*^9}, { 3.781103395064865*^9, 3.781103458307035*^9}, {3.7811037973345833`*^9, 3.781103797749011*^9}, {3.781103845488574*^9, 3.781103846750248*^9}, { 3.781104129244982*^9, 3.781104129435828*^9}, {3.781104207379026*^9, 3.781104212479884*^9}, {3.781104349325824*^9, 3.7811043494749327`*^9}, { 3.781106357718494*^9, 3.781106387982049*^9}, {3.781106419122203*^9, 3.7811064468910418`*^9}, {3.781106519404477*^9, 3.781106554162953*^9}, { 3.781106922973654*^9, 3.7811069299883337`*^9}, {3.781339848163912*^9, 3.781339849596389*^9}},ExpressionUUID->"6c0cf750-1eb0-4181-8fc0-\ 4c1ac03f1be3"], Cell["6. Repeat step 3-5 adding more hyper-planes:", "Text", CellChangeTimes->{{3.781106964178138*^9, 3.781106992205367*^9}}, FontSize->16, FontColor->RGBColor[ 0, 0, 1],ExpressionUUID->"0cfb2b07-5e4d-4d75-b89f-6275b0907596"], Cell[BoxData[ RowBox[{"x", "/.", RowBox[{"LinearOptimization", "[", RowBox[{ RowBox[{ RowBox[{"-", "x"}], "-", "y"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[LessEqual]", RowBox[{"-", "0.1"}]}], ",", RowBox[{"y", "\[GreaterEqual]", "0.2"}], ",", "hplane1", ",", "hplane2"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[Element]", "Integers"}], ",", "y"}], "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.781106567964135*^9, 3.78110657090723*^9}}, CellLabel-> "In[214]:=",ExpressionUUID->"cba5e95d-87f8-4a7e-8ee4-623d409c2b48"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"1b7fb980-2970-4a01-8763-95b71c00b225"], Cell[CellGroupData[{ Cell["Tips and Tricks to modelling with integer variables.", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.781110029936902*^9, 3.781110063073354*^9}, {3.7811805658336277`*^9, 3.7811805790370502`*^9}},ExpressionUUID->"e8dfc5c4-8c14-4874-8a5a-\ afdea66d6000"], Cell[TextData[{ "\t\[Bullet] Semi-continuous variable ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", RowBox[{"0", " ", "\[Union]", RowBox[{"{", RowBox[{"a", ",", "b"}], "}"}]}]}], TraditionalForm]],ExpressionUUID-> "c82d30ff-d2e8-441d-a881-d9399409947e"], ":\n\t\t\t\t\t\t", Cell[BoxData[{ FormBox[ RowBox[{ RowBox[{"z", " ", "a"}], "\[LessEqual]", "x", "\[LessEqual]", RowBox[{"z", " ", "b"}]}], TraditionalForm], "\[IndentingNewLine]", FormBox[ RowBox[{"z", "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}], TraditionalForm]}], "InlineMath", ExpressionUUID->"390b82c2-2781-49c9-a987-643329926e32"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}, { 3.781263971111498*^9, 3.781264078675167*^9}, {3.781264159469219*^9, 3.7812641978776817`*^9}, {3.7812672389729548`*^9, 3.781267339930337*^9}}, FontSize->22,ExpressionUUID->"a1b3a5cd-952b-4269-ab40-2c88a28c3afd"], Cell[TextData[{ "\t\[Bullet] Given the linear constraints ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "i"], "x"}], "\[LessEqual]", "b"}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "n"}], TraditionalForm]],ExpressionUUID->"55a30587-3644-4b50-aabf-58cfdb2737b8"], ", at-least ", Cell[BoxData[ FormBox["k", TraditionalForm]],ExpressionUUID-> "7a0fc781-b1c5-45e3-9cfe-e5c61d4b1d0f"], " of those constraints should be satisfied:\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "i"], ".", "x"}], "\[LessEqual]", RowBox[{"b", "+", RowBox[{"M", "(", RowBox[{"1", "-", SubscriptBox["z", "i"]}], ")"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["z", "1"], "+", SubscriptBox["z", "2"], "+", "\[Ellipsis]", "+", SubscriptBox["z", "n"]}], "\[GreaterEqual]", "k"}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["z", "i"], "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"ef9da0d6-a239-4306-9624-cd8cc1805c59"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}, { 3.781263971111498*^9, 3.781264078675167*^9}, {3.781264159469219*^9, 3.7812641978776817`*^9}}, FontSize->22,ExpressionUUID->"7e643ff8-8fb5-49dc-8e09-62772696422c"], Cell[TextData[{ "\t\[Bullet] Optimization problem should either satisfy ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "1"], ".", "x"}], "\[LessEqual]", SubscriptBox["b", "1"]}], TraditionalForm]],ExpressionUUID-> "daf3e9d2-7a00-494f-9ff2-be578e6e54d7"], " OR ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "2"], ".", "x"}], "\[LessEqual]", SubscriptBox["b", "2"]}], TraditionalForm]],ExpressionUUID-> "80589725-5fb9-4365-a9c1-ad9829e6e821"], ":\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "1"], ".", "x"}], "\[LessEqual]", RowBox[{ SubscriptBox["b", "1"], "+", RowBox[{"M", " ", "z"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["a", "2"], ".", "x"}], "\[LessEqual]", RowBox[{ SubscriptBox["b", "2"], "+", RowBox[{"M", "(", RowBox[{"1", "-", "z"}], ")"}]}]}], ",", "\[IndentingNewLine]", RowBox[{"z", "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"09cf65a4-4369-4e05-a262-4917860c5382"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}, { 3.781263971111498*^9, 3.781264078675167*^9}, {3.781264159469219*^9, 3.7812641978776817`*^9}, {3.781264341324952*^9, 3.781264530484167*^9}, { 3.781267084822742*^9, 3.7812670878456717`*^9}, {3.781267793900775*^9, 3.781267855563128*^9}}, FontSize->22,ExpressionUUID->"cc4aa7ee-5490-4bd8-a0d9-0f7709aa77bb"], Cell[TextData[{ "\t\[Bullet] If ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "1"], ".", "x"}], "\[LessEqual]", SubscriptBox["b", "1"]}], TraditionalForm]],ExpressionUUID-> "3aa80448-71e4-4ac7-b457-e5fc2ef4f94d"], " is satisfied then so must ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["a", "2"], ".", "x"}], "\[LessEqual]", SubscriptBox["b", "2"]}], TraditionalForm]],ExpressionUUID-> "1740a480-5da3-41e4-b384-85ab1b3d21ed"], ":\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "1"], ".", "x"}], "\[GreaterEqual]", " ", RowBox[{ SubscriptBox["b", "1"], "-", RowBox[{"L", " ", "z"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["a", "2"], ".", "x"}], "\[LessEqual]", RowBox[{ SubscriptBox["b", "2"], "+", RowBox[{"M", "(", RowBox[{"1", "-", "z"}], ")"}]}]}], ",", "\[IndentingNewLine]", RowBox[{"z", "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"8897fccb-d6e3-475d-9338-9225e072d8c6"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}, { 3.781263971111498*^9, 3.781264078675167*^9}, {3.781264159469219*^9, 3.7812641978776817`*^9}, {3.781264341324952*^9, 3.781264530484167*^9}, { 3.781267084822742*^9, 3.7812670878456717`*^9}, {3.781267793900775*^9, 3.781267855563128*^9}, {3.7812766555263166`*^9, 3.781276714119404*^9}}, FontSize->22,ExpressionUUID->"38bbb15d-0823-4712-b111-cba3fb4edbc7"], Cell[TextData[{ "\t\[Bullet] Allowing ", Cell[BoxData[ FormBox["x", TraditionalForm]],ExpressionUUID-> "8e517050-fa6b-4f9c-9e74-bff348ec1234"], " to only take values from a specified set ", Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ SubscriptBox["a", "1"], ",", SubscriptBox["a", "2"], ",", "\[Ellipsis]", ",", SubscriptBox["a", "n"]}], "}"}], TraditionalForm]],ExpressionUUID-> "a9b73a93-09a9-4afa-8508-d45734b59709"], " can be modeled as \n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"x", "=", RowBox[{ RowBox[{ SubscriptBox["z", "1"], SubscriptBox["a", "1"]}], "+", RowBox[{ SubscriptBox["z", "2"], SubscriptBox["a", "2"]}], "+", "\[Ellipsis]", "+", RowBox[{ SubscriptBox["z", "n"], SubscriptBox["a", "n"]}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["z", "1"], "+", SubscriptBox["z", "2"], "+", "\[Ellipsis]", "+", SubscriptBox["z", "n"]}], "=", "1"}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["z", "i"], "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"28f6fb1a-1980-4c6e-bc5f-b752ac520d38"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}}, FontSize->22,ExpressionUUID->"877b30d1-c4e8-429d-a18f-edb057b2dfc5"], Cell[TextData[{ "\t\[Bullet] ", Cell[BoxData[ FormBox[ RowBox[{"t", "=", RowBox[{"Max", ".", RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", SubscriptBox["x", "2"], ",", "\[Ellipsis]", ",", SubscriptBox["x", "n"]}], "}"}]}]}], TraditionalForm]],ExpressionUUID-> "ff1cbf22-e9cc-476c-8402-f290a8db9c27"], " can be modeled as \n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["x", "i"], "\[LessEqual]", "t", "\[LessEqual]", RowBox[{ SubscriptBox["x", "i"], "+", RowBox[{"M", "(", RowBox[{"1", "-", SubscriptBox["z", "i"]}], ")"}]}]}], ",", " ", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "n", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["z", "1"], "+", SubscriptBox["z", "2"], "+", "\[Ellipsis]", "+", SubscriptBox["z", "n"]}], "=", "1"}], ",", "\[IndentingNewLine]", RowBox[{ SubscriptBox["z", "i"], "\[Element]", RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"eed6dd49-30d3-422f-a4d9-fc2484b001e1"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}}, FontSize->22,ExpressionUUID->"963c3ef0-809b-4e55-9d8c-1bea127c7e0f"], Cell[TextData[{ "\t\[Bullet] Exact 1-norm ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubsuperscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"i", "=", "n"}]], RowBox[{"|", SubscriptBox["x", "i"], "|"}]}], "=", "c"}], TraditionalForm]], ExpressionUUID->"70dda720-ec46-4a59-97c0-d399cf050aca"], ":\n\t\t\t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"x", " ", "=", " ", RowBox[{ SuperscriptBox["x", "+"], "-", SuperscriptBox["x", "-"]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ SubsuperscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"i", "=", "n"}]], SubsuperscriptBox["x", "i", "+"]}], "+", RowBox[{ SubsuperscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"i", "=", "n"}]], SubsuperscriptBox["x", "i", "-"]}]}], "=", "c"}], ",", "\[IndentingNewLine]", RowBox[{ SuperscriptBox["x", "+"], "\[LessEqual]", RowBox[{"c", " ", "z"}]}], ",", "\[IndentingNewLine]", RowBox[{ SuperscriptBox["x", "-"], "\[LessEqual]", RowBox[{"c", "(", RowBox[{"1", "-", "z"}], ")"}]}], ",", "\[IndentingNewLine]", RowBox[{ SuperscriptBox["x", "+"], "\[GreaterEqual]", "0"}], ",", RowBox[{ SuperscriptBox["x", "-"], "\[GreaterEqual]", "0"}], ",", "\[IndentingNewLine]", RowBox[{"z", "\[Element]", SuperscriptBox[ RowBox[{"{", RowBox[{"0", ",", " ", "1"}], "}"}], "n"]}], ",", SuperscriptBox["x", "+"], ",", RowBox[{ SuperscriptBox["x", "-"], "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "n"]}]}], TraditionalForm]], "InlineMath",ExpressionUUID->"13bda972-abab-4d80-9eab-21c7a08118fb"], "\n" }], "ExampleText", CellChangeTimes->{{3.748528769392097*^9, 3.748528775804941*^9}, { 3.7485288090099583`*^9, 3.748528863439077*^9}, 3.7485291437635517`*^9, { 3.748862412318194*^9, 3.748862418454967*^9}, {3.748867857040634*^9, 3.748867895446327*^9}, {3.7489409190554943`*^9, 3.7489409208352547`*^9}, { 3.781263059429678*^9, 3.781263118615418*^9}, {3.7812632259557047`*^9, 3.7812633943186626`*^9}, {3.7812634665878553`*^9, 3.781263528987248*^9}, 3.781263567121767*^9, {3.7812636182945538`*^9, 3.781263713706952*^9}, { 3.781263971111498*^9, 3.781264078675167*^9}, {3.781264159469219*^9, 3.7812641978776817`*^9}, {3.781264341324952*^9, 3.781264530484167*^9}, { 3.781266464920474*^9, 3.781266511300392*^9}, {3.7812667802548103`*^9, 3.781266960510849*^9}}, FontSize->22,ExpressionUUID->"4cf3bfe2-a8e8-49b5-a408-61d725e8124d"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"5ae848f1-5143-428c-9a80-27297b7fefdc"], Cell[CellGroupData[{ Cell["Solve Sudoku game using binary variables", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.78110598573814*^9, 3.781105991806733*^9}, {3.781108688543477*^9, 3.781108692366201*^9}, {3.781108737680696*^9, 3.78110875923164*^9}, { 3.781109134562613*^9, 3.781109159622821*^9}, {3.7811101117313232`*^9, 3.781110128011458*^9}},ExpressionUUID->"7fd87a2d-d8e2-40fa-a78a-\ e43e38e6d7f6"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"sudokuDisplay", "[", RowBox[{"board_", "?", "MatrixQ"}], "]"}], ":=", InterpretationBox[ DynamicModuleBox[{Typeset`open = False}, TemplateBox[{"Expression", RowBox[{"Module", "[", DynamicBox[ FEPrivate`FrontEndResource["FEBitmaps", "IconizeEllipsis"]], "]"}], GridBox[{{ RowBox[{ TagBox["\"Byte count: \"", "IconizedLabel"], "\[InvisibleSpace]", TagBox["2368", "IconizedItem"]}]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], Dynamic[Typeset`open]}, "IconizedObject"]], Module[{}, If[Dimensions[$CellContext`board] =!= {9, 9}, Return[$Failed]]; Grid[$CellContext`board, Sequence[ItemSize -> {1, 1.3}, Dividers -> {{{ Thickness[2], True, True}}, {{ Thickness[2], True, True}}}, Background -> {Automatic, Automatic, Flatten[ Table[{$CellContext`i, $CellContext`j} -> If[ EvenQ[ Apply[Plus, Floor[(1/3) {$CellContext`i - 1, $CellContext`j - 1}]]], Darker[White, 0.2], White], {$CellContext`i, 9}, {$CellContext`j, 9}]]}]]], SelectWithContents->True, Selectable->False]}], ";"}], "\[IndentingNewLine]", RowBox[{"sudokuDisplay", "[", RowBox[{"known", " ", "=", " ", RowBox[{"SparseArray", "[", RowBox[{ InterpretationBox[ DynamicModuleBox[{Typeset`open = False}, TemplateBox[{"List", "ListIcon", GridBox[{{ RowBox[{ TagBox["\"Head: \"", "IconizedLabel"], "\[InvisibleSpace]", TagBox["List", "IconizedItem"]}]}, { RowBox[{ TagBox["\"Length: \"", "IconizedLabel"], "\[InvisibleSpace]", TagBox["23", "IconizedItem"]}]}, { RowBox[{ TagBox["\"Byte count: \"", "IconizedLabel"], "\[InvisibleSpace]", TagBox["3904", "IconizedItem"]}]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, DefaultBaseStyle -> "Column", GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], Dynamic[Typeset`open]}, "IconizedObject"]], {{1, 3} -> 5, {1, 4} -> 3, {2, 1} -> 8, {2, 8} -> 2, {3, 2} -> 7, {3, 5} -> 1, {3, 7} -> 5, {4, 1} -> 4, {4, 6} -> 5, {4, 7} -> 3, {5, 2} -> 1, {5, 5} -> 7, {5, 9} -> 6, {6, 3} -> 3, {6, 4} -> 2, {6, 8} -> 8, {7, 2} -> 6, {7, 4} -> 5, {7, 9} -> 9, {8, 3} -> 4, {8, 8} -> 3, {9, 6} -> 9, {9, 7} -> 7}, SelectWithContents->True, Selectable->False], ",", RowBox[{"{", RowBox[{"9", ",", "9"}], "}"}], ",", "_"}], "]"}]}], "]"}]}], "Input", CellChangeTimes->{{3.769942491250025*^9, 3.7699424987009487`*^9}, { 3.7722201243890142`*^9, 3.772220138164036*^9}}, CellLabel->"In[1]:=", CellID->1890621904,ExpressionUUID->"e87df780-834c-4420-908a-9e8afc780091"], Cell[BoxData[ TagBox[GridBox[{ {"_", "_", "5", "3", "_", "_", "_", "_", "_"}, {"8", "_", "_", "_", "_", "_", "_", "2", "_"}, {"_", "7", "_", "_", "1", "_", "5", "_", "_"}, {"4", "_", "_", "_", "_", "5", "3", "_", "_"}, {"_", "1", "_", "_", "7", "_", "_", "_", "6"}, {"_", "_", "3", "2", "_", "_", "_", "8", "_"}, {"_", "6", "_", "5", "_", "_", "_", "_", "9"}, {"_", "_", "4", "_", "_", "_", "_", "3", "_"}, {"_", "_", "_", "_", "_", "9", "7", "_", "_"} }, AutoDelete->False, GridBoxBackground->{ "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}, "ItemsIndexed" -> {{1, 1} -> RGBColor[0.8, 0.8, 0.8], {1, 2} -> RGBColor[0.8, 0.8, 0.8], {1, 3} -> RGBColor[0.8, 0.8, 0.8], {1, 4} -> GrayLevel[1], {1, 5} -> GrayLevel[1], {1, 6} -> GrayLevel[1], {1, 7} -> RGBColor[0.8, 0.8, 0.8], {1, 8} -> RGBColor[0.8, 0.8, 0.8], {1, 9} -> RGBColor[0.8, 0.8, 0.8], {2, 1} -> RGBColor[0.8, 0.8, 0.8], {2, 2} -> RGBColor[0.8, 0.8, 0.8], {2, 3} -> RGBColor[0.8, 0.8, 0.8], {2, 4} -> GrayLevel[1], {2, 5} -> GrayLevel[1], {2, 6} -> GrayLevel[1], {2, 7} -> RGBColor[0.8, 0.8, 0.8], {2, 8} -> RGBColor[0.8, 0.8, 0.8], {2, 9} -> RGBColor[0.8, 0.8, 0.8], {3, 1} -> RGBColor[0.8, 0.8, 0.8], {3, 2} -> RGBColor[0.8, 0.8, 0.8], {3, 3} -> RGBColor[0.8, 0.8, 0.8], {3, 4} -> GrayLevel[1], {3, 5} -> GrayLevel[1], {3, 6} -> GrayLevel[1], {3, 7} -> RGBColor[0.8, 0.8, 0.8], {3, 8} -> RGBColor[0.8, 0.8, 0.8], {3, 9} -> RGBColor[0.8, 0.8, 0.8], {4, 1} -> GrayLevel[1], {4, 2} -> GrayLevel[1], {4, 3} -> GrayLevel[1], {4, 4} -> RGBColor[0.8, 0.8, 0.8], {4, 5} -> RGBColor[0.8, 0.8, 0.8], {4, 6} -> RGBColor[0.8, 0.8, 0.8], {4, 7} -> GrayLevel[1], {4, 8} -> GrayLevel[1], {4, 9} -> GrayLevel[1], {5, 1} -> GrayLevel[1], {5, 2} -> GrayLevel[1], {5, 3} -> GrayLevel[1], {5, 4} -> RGBColor[0.8, 0.8, 0.8], {5, 5} -> RGBColor[0.8, 0.8, 0.8], {5, 6} -> RGBColor[0.8, 0.8, 0.8], {5, 7} -> GrayLevel[1], {5, 8} -> GrayLevel[1], {5, 9} -> GrayLevel[1], {6, 1} -> GrayLevel[1], {6, 2} -> GrayLevel[1], {6, 3} -> GrayLevel[1], {6, 4} -> RGBColor[0.8, 0.8, 0.8], {6, 5} -> RGBColor[0.8, 0.8, 0.8], {6, 6} -> RGBColor[0.8, 0.8, 0.8], {6, 7} -> GrayLevel[1], {6, 8} -> GrayLevel[1], {6, 9} -> GrayLevel[1], {7, 1} -> RGBColor[0.8, 0.8, 0.8], {7, 2} -> RGBColor[0.8, 0.8, 0.8], {7, 3} -> RGBColor[0.8, 0.8, 0.8], {7, 4} -> GrayLevel[1], {7, 5} -> GrayLevel[1], {7, 6} -> GrayLevel[1], {7, 7} -> RGBColor[0.8, 0.8, 0.8], {7, 8} -> RGBColor[0.8, 0.8, 0.8], {7, 9} -> RGBColor[0.8, 0.8, 0.8], {8, 1} -> RGBColor[0.8, 0.8, 0.8], {8, 2} -> RGBColor[0.8, 0.8, 0.8], {8, 3} -> RGBColor[0.8, 0.8, 0.8], {8, 4} -> GrayLevel[1], {8, 5} -> GrayLevel[1], {8, 6} -> GrayLevel[1], {8, 7} -> RGBColor[0.8, 0.8, 0.8], {8, 8} -> RGBColor[0.8, 0.8, 0.8], {8, 9} -> RGBColor[0.8, 0.8, 0.8], {9, 1} -> RGBColor[0.8, 0.8, 0.8], {9, 2} -> RGBColor[0.8, 0.8, 0.8], {9, 3} -> RGBColor[0.8, 0.8, 0.8], {9, 4} -> GrayLevel[1], {9, 5} -> GrayLevel[1], {9, 6} -> GrayLevel[1], {9, 7} -> RGBColor[0.8, 0.8, 0.8], {9, 8} -> RGBColor[0.8, 0.8, 0.8], {9, 9} -> RGBColor[0.8, 0.8, 0.8]}}, GridBoxDividers->{"Columns" -> {{ Thickness[2], True, True}}, "Rows" -> {{ Thickness[2], True, True}}}, GridBoxItemSize->{"Columns" -> {{1}}, "Rows" -> {{1.3}}}], "Grid"]], "Output", CellChangeTimes->{ 3.769942504816514*^9, 3.769942922351286*^9, 3.769942984428462*^9, 3.7699604950029078`*^9, {3.7717830762765656`*^9, 3.771783099909875*^9}, 3.7718550361662693`*^9, 3.772220140592637*^9}, CellLabel->"Out[2]=", CellID->1325057340,ExpressionUUID->"7bdc29fb-dcc6-48b3-b49f-d9fbc6789a36"] }, Open ]], Cell[TextData[{ StyleBox["\tLet ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["z", RowBox[{"i", ",", "j"}]], "\[Element]", SuperscriptBox["\[DoubleStruckCapitalZ]", "9"]}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"5bec6f68-b663-4b38-85c5-0cf078e26783"], StyleBox[" be the variable for sub-square ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"i", ",", "j"}], ")"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"2f678a98-c18a-44e9-aa4b-837f0acb8f98"], StyleBox[". Let ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["z", RowBox[{"i", ",", "j"}]], "(", "k", ")"}], ",", " ", RowBox[{"k", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "9"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"76d6e460-918a-4098-a8cd-e69476897fa7"], StyleBox[", be the element ", FontSize->18], Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"b881beac-0d97-40c1-aee5-1da5af2d41b7"], StyleBox[" of vector ", FontSize->18], Cell[BoxData[ FormBox[ SubscriptBox["z", RowBox[{"i", ",", "j"}]], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"ea081632-f208-49a8-a7f8-895bb499e451"], StyleBox[". \n\tWhen ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["z", RowBox[{"i", ",", "j"}]], "(", "k", ")"}], "=", "1"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"e8aeef89-9723-4a9f-958c-6a9d2b03980d"], StyleBox[", then ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"i", ",", "j"}], ")"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"b70559b4-ffd8-4bd6-bf76-dfd326814cf3"], StyleBox[" holds the number ", FontSize->18], Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"2db61ded-d05d-47c2-8424-833439767cd2"], StyleBox[". Each ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"i", ",", "j"}], ")"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"c5e2ac4e-7011-4cd9-835b-df543708c431"], StyleBox[" contains only one number, so ", FontSize->18], Cell[BoxData[ FormBox[ SubscriptBox["z", RowBox[{"i", ",", "j"}]], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"7ad4824e-acfa-4644-9f83-2559b607f07c"], StyleBox[" can contain only one non-zero element, i.e. \t\t", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"k", "=", "1"}], RowBox[{"k", "=", "9"}]], RowBox[{ SubscriptBox["z", RowBox[{"i", ",", "j"}]], "(", "k", ")"}]}], "=", "1"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"cfb8ba77-0a45-467e-b9e7-b7cab8556e9c"], StyleBox[":", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.771854004365142*^9, 3.771854047796527*^9}, { 3.771854089609041*^9, 3.771854092602319*^9}, {3.771854131786274*^9, 3.7718541743866262`*^9}, {3.7718542304019003`*^9, 3.771854281457431*^9}, { 3.7718543328459187`*^9, 3.771854401268654*^9}, {3.771854437961339*^9, 3.771854631777494*^9}, {3.771854669215859*^9, 3.7718547432228518`*^9}, { 3.7718548015385036`*^9, 3.771854810988081*^9}, {3.771855252497468*^9, 3.7718553392388*^9}, {3.771855386819529*^9, 3.771855405226288*^9}, { 3.771855439464617*^9, 3.771855489577009*^9}, {3.771855553267991*^9, 3.771855644458723*^9}, {3.771855856913803*^9, 3.7718558963188887`*^9}, 3.775382477493227*^9, {3.781108943987051*^9, 3.781108947593607*^9}, { 3.781109022647245*^9, 3.781109030979048*^9}, {3.781110706466496*^9, 3.781110708049718*^9}, {3.7812951049523*^9, 3.781295124553841*^9}}, FontColor->RGBColor[1, 0, 0], CellID->992885313,ExpressionUUID->"f85dbd5f-67b8-47a0-983a-3964148cf03d"], Cell[BoxData[ RowBox[{ RowBox[{"squareConstraints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Total", "[", RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], "]"}], "\[Equal]", "1"}], ",", RowBox[{"0", "\[VectorLessEqual]", RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], "\[VectorLessEqual]", "1"}], ",", RowBox[{ RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], "\[Element]", RowBox[{"Vectors", "[", RowBox[{"9", ",", "Integers"}], "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "9"}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.769939673760447*^9, 3.769939680991089*^9}, 3.7717823199784555`*^9, {3.771782730825449*^9, 3.7717827314284663`*^9}, 3.781109172867877*^9}, CellID->1149211461,ExpressionUUID->"57bd1865-5fc4-4021-a421-a69d886a98c6"], Cell[TextData[{ StyleBox["\tEach row must contain all the numbers, i.e. ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"j", "=", "1"}], RowBox[{"j", "=", "9"}]], SubscriptBox["z", RowBox[{"i", ",", "j"}]]}], "=", " ", OverscriptBox["1", "\[Rule]"]}], ",", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "9"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"41b67ef1-08bf-4e3a-8983-411250826e26"], StyleBox[", where ", FontSize->18], Cell[BoxData[ FormBox[ OverscriptBox["1", "\[Rule]"], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"d50cb0eb-b6f1-43c5-8ffd-30091ebfa2de"], StyleBox[" is a nine-dimensional vector of ones:", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.7699396876556396`*^9, 3.7699396936081657`*^9}, { 3.769939731574915*^9, 3.769939742390345*^9}, {3.771855680231382*^9, 3.771855759565702*^9}, {3.771855940182395*^9, 3.771855990789851*^9}, { 3.7718560586734457`*^9, 3.771856127903037*^9}, {3.7718561619583797`*^9, 3.771856163998912*^9}, {3.771856229338451*^9, 3.771856265784029*^9}, { 3.771856355324588*^9, 3.771856372646903*^9}, {3.771856548622244*^9, 3.771856549343951*^9}, {3.771856757190189*^9, 3.771856762198504*^9}, 3.7753824805720367`*^9, {3.781108950966695*^9, 3.7811089515112*^9}, 3.7811107105436573`*^9}, FontColor->RGBColor[1, 0, 0], CellID->329103909,ExpressionUUID->"9421a75f-2ebf-4e61-bc43-b81ead756b97"], Cell[BoxData[{ RowBox[{ RowBox[{"onesVector", "=", RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "9"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rowConstraints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], ",", RowBox[{"{", RowBox[{"j", ",", "9"}], "}"}]}], "]"}], "\[Equal]", "onesVector"}], ",", RowBox[{"{", RowBox[{"i", ",", "9"}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.769939745531625*^9, 3.769939754568398*^9}, 3.771782321167795*^9, {3.7717828873394756`*^9, 3.771782898694914*^9}, { 3.771856245850012*^9, 3.7718563011755238`*^9}}, CellLabel->"In[4]:=", CellID->1479007538,ExpressionUUID->"42ac3923-fc09-4c5a-9357-299f1db5d268"], Cell[TextData[{ StyleBox["\tEach column must contain all the numbers, i.e. ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"i", "=", "9"}]], SubscriptBox["z", RowBox[{"i", ",", "j"}]]}], "=", " ", OverscriptBox["1", "\[Rule]"]}], ",", RowBox[{"j", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "9"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"60a84b4a-80e4-4b6c-9053-d4e6dc117926"], StyleBox[":", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.769939757460403*^9, 3.7699397674373827`*^9}, { 3.77185631725511*^9, 3.771856350767742*^9}, {3.771856392731032*^9, 3.771856393748904*^9}, {3.771856554790244*^9, 3.7718565553757753`*^9}, 3.775382488497938*^9, {3.781108965088462*^9, 3.781108965457383*^9}, 3.781110713293909*^9}, FontColor->RGBColor[1, 0, 0], CellID->556477141,ExpressionUUID->"f1e8684c-de05-46bd-b507-97c62c928fdf"], Cell[BoxData[ RowBox[{ RowBox[{"columnConstraints", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "9"}], "}"}]}], "]"}], "\[Equal]", "onesVector"}], ",", RowBox[{"{", RowBox[{"j", ",", "9"}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{ 3.7717823221210165`*^9, 3.7717829071657925`*^9, {3.771783211073036*^9, 3.771783211710724*^9}, {3.771856400165085*^9, 3.771856401416054*^9}}, CellLabel->"In[6]:=", CellID->420026102,ExpressionUUID->"a7a90623-a1f4-4192-9e9b-dd55ba9aa39b"], Cell[TextData[{ StyleBox["\tEach 3x3 block must contain all the numbers, i.e. ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"m", "=", "1"}], RowBox[{"m", "=", "3"}]], RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"n", "=", "1"}], RowBox[{"n", "=", "3"}]], SubscriptBox["z", RowBox[{ RowBox[{"i", "+", "m"}], ",", RowBox[{"j", "+", "n"}]}]]}]}], "=", " ", OverscriptBox["1", "\[Rule]"]}], ",", "i", ",", RowBox[{"j", "\[Element]", RowBox[{"{", RowBox[{"0", ",", "3", ",", "6"}], "}"}]}]}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"b52ad1c8-5236-41b4-9080-741aea06fddd"], StyleBox[":", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.76993977901283*^9, 3.769939790644644*^9}, { 3.769963675944024*^9, 3.769963684781073*^9}, {3.771856446976776*^9, 3.7718565886620607`*^9}, 3.7753824903654823`*^9, {3.781108967711111*^9, 3.781108967976503*^9}, 3.7811107155731173`*^9}, FontColor->RGBColor[1, 0, 0], CellID->599948625,ExpressionUUID->"1783d7ea-bd27-4eec-8433-031298af5afb"], Cell[BoxData[ RowBox[{ RowBox[{"blockConstraints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{"z", "[", RowBox[{ RowBox[{"i", "+", "m"}], ",", RowBox[{"j", "+", "n"}]}], "]"}], ",", RowBox[{"{", RowBox[{"m", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"n", ",", "3"}], "}"}]}], "]"}], "\[Equal]", "onesVector"}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"{", RowBox[{"0", ",", "3", ",", "6"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"{", RowBox[{"0", ",", "3", ",", "6"}], "}"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.769941399278062*^9, 3.769941400301095*^9}, 3.7699422183654137`*^9, {3.769942823693323*^9, 3.769942827507476*^9}, 3.771782322933491*^9, {3.7717829494612455`*^9, 3.77178295174111*^9}, { 3.771854962181076*^9, 3.771854977244671*^9}, {3.771856413172072*^9, 3.771856417346566*^9}, {3.7718565973796253`*^9, 3.771856604003171*^9}}, CellLabel->"In[7]:=", CellID->900817710,ExpressionUUID->"22c5a2ce-3aa7-4969-8c60-1210ddb719dc"], Cell[TextData[StyleBox["\t\tCollect all the variables:", FontSize->18]], "ExampleText", CellChangeTimes->{{3.7699398813845787`*^9, 3.769939884449774*^9}, { 3.78110897252584*^9, 3.7811089729328823`*^9}}, CellID->283540620,ExpressionUUID->"feb31fc0-7acf-4b88-a0a4-87a81e493381"], Cell[BoxData[ RowBox[{ RowBox[{"vars", "=", RowBox[{"Flatten", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"z", "[", RowBox[{"i", ",", "j"}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "9"}], "}"}]}], "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.7699398853864613`*^9, 3.7699398954565573`*^9}, { 3.771855028755033*^9, 3.771855030562138*^9}, {3.781109194444295*^9, 3.7811092041023817`*^9}}, CellID->200987647,ExpressionUUID->"05a4de04-6f95-4913-b327-67eade56e0a7"], Cell[TextData[{ StyleBox["\tConvert the known values into constraints. If sub-square ", FontSize->18], Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"i", ",", "j"}], ")"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"274fd4f3-6770-43d0-a9e1-1033fb6d53e5"], StyleBox[" holds number ", FontSize->18], Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"b74540a7-8b31-4d53-b1a8-c938172d80f5"], StyleBox[", then ", Deletable->True, FontSize->18], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["z", RowBox[{"i", ",", "j"}]], "(", "k", ")"}], "=", "1"}], TraditionalForm]], "InlineMath", FontSize->18,ExpressionUUID->"685f9f8e-2290-4a42-bef9-5e8ad311bc7e"], StyleBox[":", FontSize->18] }], "ExampleText", CellChangeTimes->{{3.7699425247589808`*^9, 3.769942539175194*^9}, { 3.771855103445958*^9, 3.7718551812257338`*^9}, {3.771856639257392*^9, 3.771856647228035*^9}, {3.781108976563998*^9, 3.7811089768765306`*^9}, 3.7811107191157007`*^9}, FontColor->RGBColor[1, 0, 0], CellID->1699129541,ExpressionUUID->"8d6352ca-4afc-4c76-a93e-f2070f1e7bb6"], Cell[BoxData[ RowBox[{ RowBox[{"knownConstraints", " ", "=", " ", RowBox[{"MapThread", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Indexed", "[", RowBox[{ RowBox[{"z", "@@", "#1"}], ",", "#2"}], "]"}], "\[Equal]", "1"}], "&"}], ",", RowBox[{"{", RowBox[{ RowBox[{"known", "[", "\"\\"", "]"}], ",", RowBox[{"known", "[", "\"\\"", "]"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.7699425411775227`*^9, 3.769942565509355*^9}, 3.7717823247696104`*^9}, CellLabel->"In[10]:=", CellID->769371120,ExpressionUUID->"abb98fb7-7255-4656-bfb4-d3cde4964e98"], Cell[TextData[StyleBox["\tSolve the puzzle:", FontSize->18]], "ExampleText", CellChangeTimes->{{3.769942681543069*^9, 3.769942685537258*^9}, { 3.781108981505536*^9, 3.781108981923079*^9}, 3.781110722737852*^9}, FontColor->RGBColor[1, 0, 0], CellID->820767203,ExpressionUUID->"234ac34b-b4d2-4b8b-8708-4b99247eddd6"], Cell[BoxData[ RowBox[{ RowBox[{"res", "=", RowBox[{"LinearOptimization", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{ "squareConstraints", ",", " ", "rowConstraints", ",", " ", "columnConstraints", ",", " ", "blockConstraints", ",", "knownConstraints"}], "}"}], ",", "vars"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.769940152699346*^9, 3.769940249178755*^9}, { 3.769940470513605*^9, 3.7699406105880938`*^9}, {3.769940778365842*^9, 3.7699408718181467`*^9}, {3.7699420824354277`*^9, 3.769942090976696*^9}, { 3.769942369751287*^9, 3.769942373073119*^9}, {3.769942691257568*^9, 3.769942692696459*^9}, {3.7699429422885847`*^9, 3.769942946062471*^9}, { 3.769960540746181*^9, 3.769960551721507*^9}, {3.7717823259324493`*^9, 3.771782328765707*^9}, {3.771782742737454*^9, 3.771782743451785*^9}, 3.7717833502008977`*^9, {3.7718574754988413`*^9, 3.77185747989087*^9}, 3.7811092281957417`*^9}, CellID->861698260,ExpressionUUID->"e9ef34f1-0c10-4c65-a617-ace18524fd5c"], Cell[TextData[StyleBox["\tVisualize the result:", FontSize->18]], "ExampleText", CellChangeTimes->{{3.76994237590877*^9, 3.7699423788374643`*^9}, { 3.781108983703433*^9, 3.781108983960638*^9}, 3.7811107249922543`*^9}, FontColor->RGBColor[1, 0, 0], CellID->2080424099,ExpressionUUID->"bc4eadfd-a7df-4695-ae15-fd522790c7fb"], Cell[BoxData[ RowBox[{"sudokuDisplay", "[", RowBox[{"SparseArray", "@", RowBox[{"MapThread", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"List", "@@", "#1"}], "\[Rule]", RowBox[{ RowBox[{"Range", "[", "9", "]"}], ".", "#2"}]}], "&"}], ",", RowBox[{"{", RowBox[{"vars", ",", RowBox[{"vars", "/.", "res"}]}], "}"}]}], "]"}]}], "]"}]], "Input", CellChangeTimes->{{3.769942386377852*^9, 3.769942386663423*^9}, 3.769942952240193*^9, {3.7722201668309402`*^9, 3.772220182766427*^9}, 3.781109206589147*^9}, CellID->359091439,ExpressionUUID->"30687d7a-58ec-4d88-99a8-31b64f7ed868"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"a9a58c76-b334-4854-9211-66f1d6b1d1b5"], Cell[CellGroupData[{ Cell["Path planning around obstacles:", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.781110029936902*^9, 3.781110063073354*^9}, {3.7811105602058496`*^9, 3.7811105693050747`*^9}},ExpressionUUID->"c68a6ef5-ace7-4914-8490-\ 62f7695e63bd"], Cell["\<\ \tFind the shortest path between two points while avoiding obstacles. Specify \ the obstacle:\ \>", "ExampleText", CellChangeTimes->{{3.7752195736898727`*^9, 3.775219605210765*^9}, 3.781110664701311*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->543752973,ExpressionUUID->"19abd9d7-b92b-415c-9f0f-4ec7c9d86953"], Cell[BoxData[ RowBox[{ RowBox[{"SeedRandom", "[", "1234", "]"}], ";", RowBox[{"mesh", " ", "=", " ", RowBox[{"ConvexHullMesh", "[", RowBox[{"RandomReal", "[", RowBox[{ RowBox[{"{", RowBox[{".2", ",", ".8"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "2"}], "}"}]}], "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.7752196118670588`*^9, 3.775219611868725*^9}, 3.781279022821116*^9, 3.781279079039303*^9}, CellLabel->"In[17]:=", CellID->1634327573,ExpressionUUID->"e8536c29-bf08-4bac-9455-1483159abd65"], Cell["\tExtract the half-spaces that form the convex obstacle:", "ExampleText", CellChangeTimes->{{3.775219624642365*^9, 3.775219640063448*^9}, 3.781110667298863*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->357923547,ExpressionUUID->"b9eac8d3-ebe2-4d0c-8c9e-5998e0347600"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"a", ",", "b"}], "}"}], " ", "=", " ", RowBox[{"LinearOptimization", "[", RowBox[{"0", ",", RowBox[{"{", "}"}], ",", RowBox[{"Element", "[", RowBox[{"x", ",", "mesh"}], "]"}], ",", "\"\\""}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.77522034496459*^9, 3.775220347220852*^9}}, CellLabel->"In[18]:=", CellID->263027454,ExpressionUUID->"7db14133-c6a1-4be5-8eb9-4a15a182568e"], Cell["\tSpecify the start and end points of the path:", "ExampleText", CellChangeTimes->{{3.775219776738812*^9, 3.775219790350649*^9}, 3.781110668738372*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1043491302,ExpressionUUID->"ac69f74d-1669-4570-bcda-0bf788269478"], Cell[BoxData[{ RowBox[{ RowBox[{"start", "=", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"end", "=", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"mesh", ",", " ", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{ RowBox[{"PointSize", "[", "0.02", "]"}], ",", RowBox[{"Point", "[", RowBox[{"{", RowBox[{"start", ",", " ", "end"}], "}"}], "]"}]}], "}"}], "]"}]}], "]"}]}], "Input", CellChangeTimes->{{3.775219791121052*^9, 3.7752197966226053`*^9}, { 3.7812790828685102`*^9, 3.7812791153299522`*^9}}, CellLabel->"In[22]:=", CellID->314745724,ExpressionUUID->"2da09f80-ff96-406e-a82c-e155f7301110"], Cell[TextData[{ "\tThe path can be discretized using ", Cell[BoxData[ FormBox["n", TraditionalForm]], "InlineMath",ExpressionUUID-> "37c1b3c1-576a-45f6-b889-2ace16bcad91"], " points. Let ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["p", "i"], "\[Element]", SuperscriptBox["\[DoubleStruckCapitalR]", "2"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"3b589360-b9d4-4b4f-a630-2e09e4ac0ccf"], " represents the position vector:" }], "ExampleText", CellChangeTimes->{{3.7752196546671247`*^9, 3.7752197342805*^9}, 3.7752200377972517`*^9, {3.775220078245802*^9, 3.775220096204657*^9}, 3.781110670441627*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->270173374,ExpressionUUID->"4a86e80e-0e78-4257-98ec-067b6fff3b93"], Cell[BoxData[{ RowBox[{ RowBox[{"n", "=", "10"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pvars", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Element", "[", RowBox[{ RowBox[{"p", "[", "i", "]"}], ",", RowBox[{"Vectors", "[", RowBox[{"2", ",", "Reals"}], "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "n"}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.775219770363675*^9, 3.775219853854434*^9}, { 3.7752200490947533`*^9, 3.7752200613320217`*^9}, {3.775220117973598*^9, 3.775220118229545*^9}}, CellLabel->"In[25]:=", CellID->884617398,ExpressionUUID->"b9964322-17f7-41f5-b8c2-4d259ebcdcf1"], Cell[TextData[{ "\tThe objective is to minimize ", Cell[BoxData[ FormBox[ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"n", "-", "1"}]], RowBox[{"||", RowBox[{ SubscriptBox["p", RowBox[{"i", "+", "1"}]], "-", SubscriptBox["p", "i"]}], "||"}]}], TraditionalForm]], "InlineMath", ExpressionUUID->"dd3d0f92-ee3b-4fe9-8f9c-b5e144f92a9b"], ". Let ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["t", "i"], "=", RowBox[{ SubscriptBox["p", RowBox[{"i", "+", "1"}]], "-", SubscriptBox["p", "i"]}]}], TraditionalForm]], "InlineMath", ExpressionUUID->"7f6c8685-9084-43c3-9ac9-e9680db1bbea"], ". The objective is transformed to ", Cell[BoxData[ FormBox[ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], RowBox[{"n", "-", "1"}]], SuperscriptBox[ SubscriptBox["t", "i"], "2"]}], TraditionalForm]], "InlineMath", ExpressionUUID->"6e0b606f-bf26-46ed-9648-54ae49ac1cf0"], ":" }], "ExampleText", CellChangeTimes->{{3.77522010210061*^9, 3.775220112404579*^9}, { 3.775220169980188*^9, 3.7752202400918627`*^9}, 3.781110673639359*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->129991322,ExpressionUUID->"353e9aab-7c25-479d-a5bd-42d9e81ebcc6"], Cell[BoxData[{ RowBox[{ RowBox[{"tvars", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"t", "[", "i", "]"}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"transformationConstraint", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"t", "[", "i", "]"}], "\[Equal]", RowBox[{ RowBox[{"p", "[", RowBox[{"i", "+", "1"}], "]"}], "-", RowBox[{"p", "[", "i", "]"}]}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"objective", "=", RowBox[{"Sum", "[", RowBox[{ RowBox[{ RowBox[{"t", "[", "i", "]"}], ".", RowBox[{"t", "[", "i", "]"}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.775220245989176*^9, 3.775220293116016*^9}, { 3.7752204740878277`*^9, 3.7752204854747477`*^9}, 3.775295211265239*^9}, CellLabel->"In[27]:=", CellID->400780637,ExpressionUUID->"5749f582-7ae8-41c5-879a-ba33af26b701"], Cell["\tSpecify the end point constraints:", "ExampleText", CellChangeTimes->{{3.775219858870056*^9, 3.775219863262065*^9}, 3.781110675543372*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->97834819,ExpressionUUID->"3f40c482-ca78-4d0b-9e16-b03d2396e6f1"], Cell[BoxData[ RowBox[{ RowBox[{"endPointConstraints", "=", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"p", "[", "1", "]"}], "\[Equal]", "start"}], ",", RowBox[{ RowBox[{"p", "[", "n", "]"}], "\[Equal]", "end"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.77521986425101*^9, 3.775219876614852*^9}}, CellLabel->"In[30]:=", CellID->506713140,ExpressionUUID->"d2e6112e-ca99-4e15-8498-249ba1fa5cd3"], Cell["\<\ \tThe distance between any two subsequent points should not be too large:\ \>", "ExampleText", CellChangeTimes->{{3.775219884310048*^9, 3.775219896640024*^9}, 3.7811106771422586`*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->424469380,ExpressionUUID->"829bd835-0f98-4767-be8a-83458ab82214"], Cell[BoxData[{ RowBox[{ RowBox[{"maxDist", " ", "=", RowBox[{"2", " ", RowBox[{ RowBox[{"Norm", "[", RowBox[{"start", " ", "-", " ", "end"}], "]"}], "/", "n"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"separationConstraints", " ", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"-", "maxDist"}], " ", "\[VectorLessEqual]", RowBox[{"t", "[", "i", "]"}], "\[VectorLessEqual]", "maxDist"}], " ", ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"n", "-", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.775219905798962*^9, 3.775219952693959*^9}, { 3.7752203091736383`*^9, 3.775220314923953*^9}, {3.775295413488083*^9, 3.775295442893714*^9}, {3.775295482519444*^9, 3.775295551558311*^9}, { 3.775295690333454*^9, 3.775295690459702*^9}, {3.7759268513100977`*^9, 3.7759268658681173`*^9}, 3.775926902367949*^9, {3.7779003533690577`*^9, 3.777900353849085*^9}, 3.781279169476696*^9}, CellID->2037223834,ExpressionUUID->"2499f35f-e1d8-4e5f-90a4-d9fc30ad6a99"], Cell[TextData[{ "\tA point ", Cell[BoxData[ FormBox[ SubscriptBox["p", "i"], TraditionalForm]], "InlineMath",ExpressionUUID-> "db3c0810-cfec-43cb-bdcc-4852875c859a"], " is outside the object if at-least one element of ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ SubscriptBox["a", "k"], ".", SubscriptBox["p", "i"]}], "+", SubscriptBox["b", "k"]}], ",", RowBox[{"k", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "m"}], TraditionalForm]], "InlineMath",ExpressionUUID-> "ee4e752c-f948-4483-b5d8-e0a37c5781eb"], " is less than zero. \n\tTo enforce this constraint, let ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["z", "k"], "\[Element]", SuperscriptBox["\[DoubleStruckCapitalZ]", "n"]}], TraditionalForm]], "InlineMath",ExpressionUUID->"0ed62037-35ee-41d5-9b6d-90451caf7be5"], " be a decision vector and ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["z", "k"], "(", "i", ")"}], TraditionalForm]], "InlineMath", ExpressionUUID->"8fdc6c0e-9dfe-4b8e-8a85-80379a567e2c"], StyleBox[" ", Deletable->True], "is the ", Cell[BoxData[ FormBox[ SuperscriptBox["i", "th"], TraditionalForm]], "InlineMath",ExpressionUUID-> "f2caf10f-7288-49d5-9695-61080275a0ee"], " element of ", Cell[BoxData[ FormBox["z", TraditionalForm]], "InlineMath",ExpressionUUID-> "01cedbe9-407b-4a32-9ce6-1ff1b2f25a1e"], " such that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"i", "=", "1"}], "n"], RowBox[{ SubscriptBox["z", "k"], "(", "i", ")"}]}], "\[LessEqual]", RowBox[{"m", "-", "1"}]}], TraditionalForm]], "InlineMath",ExpressionUUID-> "09fb4f1c-3c41-4e8c-ad76-824c33a0bf27"], ", then \t\t\t\t", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"a", ".", SubscriptBox["p", "i"]}], "+", "b"}], "\[VectorLessEqual]", RowBox[{"M", " ", SubscriptBox["z", "i"]}]}], ",", RowBox[{"i", "=", "1"}], ",", "2", ",", "\[Ellipsis]", ",", "n"}], TraditionalForm]], "InlineMath",ExpressionUUID-> "549b56ce-97b5-451d-8b47-ae8d5b52e334"], " and ", Cell[BoxData[ FormBox["M", TraditionalForm]], "InlineMath",ExpressionUUID-> "20dfd6a1-78dc-4a0b-ab94-96175d251095"], StyleBox[" is large enough such that ", Deletable->True], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"M", "\[GreaterEqual]", RowBox[{"Max", "."}]}], "|", RowBox[{ RowBox[{"a", ".", SubscriptBox["p", "i"]}], "+", "b"}], "|"}], TraditionalForm]], "InlineMath",ExpressionUUID->"43839f1f-8bb5-4bd5-80dd-bda0b1584ac6"], ":" }], "ExampleText", CellChangeTimes->{{3.775294488057078*^9, 3.7752950149876966`*^9}, { 3.775295049346027*^9, 3.77529510376989*^9}, {3.775295169553935*^9, 3.775295294337137*^9}, {3.7811106791978083`*^9, 3.781110694478981*^9}, { 3.781262811409996*^9, 3.781262812263983*^9}, {3.7812950752696238`*^9, 3.781295085546488*^9}}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1906644373,ExpressionUUID->"c5b11cec-61f8-4db1-9750-17abe7c63180"], Cell[BoxData[{ RowBox[{ RowBox[{"m", " ", "=", " ", "10"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"zvars", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"Element", "[", RowBox[{ RowBox[{"z", "[", "i", "]"}], ",", " ", RowBox[{"Vectors", "[", RowBox[{ RowBox[{"Length", "[", "a", "]"}], ",", "Integers"}], "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"binaryConstraints", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"0", " ", "\[VectorLessEqual]", RowBox[{"z", "[", "i", "]"}], " ", "\[VectorLessEqual]", "1"}], ",", RowBox[{"{", RowBox[{"i", ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"avoidanceConstraints", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Inactive", "[", "Plus", "]"}], "[", RowBox[{ RowBox[{"a", ".", RowBox[{"p", "[", "i", "]"}]}], ",", " ", "b"}], "]"}], "\[VectorLessEqual]", " ", RowBox[{"m", " ", RowBox[{"z", "[", "i", "]"}]}]}], ",", RowBox[{ RowBox[{"Total", "[", RowBox[{"z", "[", "i", "]"}], "]"}], "\[LessEqual]", " ", RowBox[{ RowBox[{"Length", "[", "a", "]"}], " ", "-", " ", "1"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "n"}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.775220386021276*^9, 3.775220401827619*^9}, { 3.775295544535174*^9, 3.7752955446365*^9}, {3.775295705421378*^9, 3.775295705523602*^9}}, CellLabel->"In[33]:=", CellID->1468817004,ExpressionUUID->"891271e6-456b-4c98-9b5c-d41d088a47d4"], Cell["\tFind the minimum distance path around the obstacle:", "ExampleText", CellChangeTimes->{{3.77522002596509*^9, 3.775220026492968*^9}, { 3.7752201420043697`*^9, 3.7752201518443823`*^9}, 3.781110697557271*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1561596498,ExpressionUUID->"6a084e8d-6019-4a95-9140-0d2b809c2d7d"], Cell[BoxData[ RowBox[{ RowBox[{"res", " ", "=", " ", RowBox[{"QuadraticOptimization", "[", RowBox[{"objective", ",", " ", RowBox[{"{", RowBox[{ "endPointConstraints", ",", " ", "transformationConstraint", ",", "separationConstraints", ",", " ", "binaryConstraints", ",", " ", "avoidanceConstraints"}], "}"}], ",", RowBox[{"Join", "[", RowBox[{"pvars", ",", "tvars", ",", " ", "zvars"}], "]"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.775219994734354*^9, 3.77522002214139*^9}, { 3.775220497492543*^9, 3.775220509875065*^9}, {3.775295497254051*^9, 3.775295504221339*^9}, {3.775295570798232*^9, 3.775295579084693*^9}, 3.775295839861137*^9}, CellLabel->"In[37]:=", CellID->1185051279,ExpressionUUID->"7e64a6e4-ce4d-4ba3-b0e8-5a031502185b"], Cell["\tExtract and display the path:", "ExampleText", CellChangeTimes->{{3.775295308423305*^9, 3.7752953366463623`*^9}, 3.781110699828333*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1111698889,ExpressionUUID->"39d7861c-6753-4de6-84e5-e01fc313b984"], Cell[BoxData[{ RowBox[{ RowBox[{"path", " ", "=", " ", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"p", "[", "i", "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "n"}], "}"}]}], "]"}], " ", "/.", " ", "res"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"mesh", ",", " ", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{ RowBox[{"Point", "[", "path", "]"}], ",", RowBox[{"Line", "[", "path", "]"}]}], "}"}], "]"}]}], "]"}]}], "Input", CellChangeTimes->{{3.7752953403188667`*^9, 3.775295375742825*^9}}, CellLabel->"In[38]:=", CellID->990337918,ExpressionUUID->"2e8a9723-3aa3-4024-82d3-83671873d763"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"d195002d-48c8-46fb-9f49-6141b8e1714c"], Cell[CellGroupData[{ Cell["Graph Coloring Problem", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}, { 3.78110598573814*^9, 3.781105991806733*^9}, {3.781268401229416*^9, 3.78126840476226*^9}},ExpressionUUID->"12806e34-d900-495f-a747-\ ced6d23dfd91"], Cell["\<\ \tFind the minimum number of colors needed to color the nodes of a graph such \ that no two adjacent nodes have the same color. \tStart with more than a sufficient number of colors for any graph:\ \>", "ExampleText", CellChangeTimes->{{3.770489101470045*^9, 3.770489167260458*^9}, { 3.771785331230528*^9, 3.7717853618572674`*^9}, {3.7812684460073767`*^9, 3.781268483494114*^9}}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1669108624,ExpressionUUID->"8fd7bd05-6836-4696-ab23-71637c5117ce"], Cell[BoxData[ RowBox[{ RowBox[{"nColors", "=", "6"}], ";"}]], "Input", CellChangeTimes->{3.771785372882242*^9}, CellLabel->"In[40]:=", CellID->234321168,ExpressionUUID->"b5aef141-f3a5-4bc6-ad97-ecf786673acc"], Cell["\t Generate a random graph: ", "ExampleText", CellChangeTimes->{{3.770489101470045*^9, 3.770489167260458*^9}, 3.781268454461164*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->265328868,ExpressionUUID->"9b64b4ed-1eb0-40fd-9a60-9f9111ce275a"], Cell[BoxData[{ RowBox[{ RowBox[{"SeedRandom", "[", "1234", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"nNodes", "=", "30"}], ";"}], "\[IndentingNewLine]", RowBox[{"graph", "=", RowBox[{"RandomGraph", "[", RowBox[{ RowBox[{"DegreeGraphDistribution", "[", RowBox[{"Table", "[", RowBox[{"3", ",", "nNodes"}], "]"}], "]"}], ",", RowBox[{"VertexSize", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "0.02"}], "}"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{ 3.7717853684373116`*^9, {3.771863756274575*^9, 3.77186380272622*^9}, { 3.7718638335435467`*^9, 3.771863858228327*^9}, {3.781268606215432*^9, 3.7812686173733597`*^9}, {3.7812793009305964`*^9, 3.78127930101646*^9}}, CellLabel->"In[41]:=", CellID->765711366,ExpressionUUID->"d5d8be02-e3da-4418-ad35-a16bf8071709"], Cell["\<\ \tExtract the adjacency matrix associated with the graph. Since the matrix is \ symmetric only use the upper-triangular part of the matrix:\ \>", "ExampleText", CellChangeTimes->{{3.771863638947998*^9, 3.771863680892394*^9}, 3.781268497298963*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->795455453,ExpressionUUID->"6c6b1287-84cf-4292-8ea6-7b86e3420860"], Cell[BoxData[ RowBox[{ RowBox[{"graphMat", "=", RowBox[{"UpperTriangularize", "[", RowBox[{"AdjacencyMatrix", "[", "graph", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.771863690340222*^9, 3.771863711468491*^9}}, CellLabel->"In[7]:=", CellID->2083714562,ExpressionUUID->"4e8a3cd2-710e-45ad-a0ac-1fd5a45c11fd"], Cell[TextData[{ "\tLet ", Cell[BoxData[ FormBox["x", TraditionalForm]], "InlineMath",ExpressionUUID-> "58ff24b9-e7d8-4b2b-a4ae-391ffc2b867c"], " be a matrix such that ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["x", RowBox[{"i", ",", "j"}]], "=", "1"}], TraditionalForm]], "InlineMath", ExpressionUUID->"e0b8233f-9713-40c1-ab22-5010bd7a7a23"], " if node ", Cell[BoxData[ FormBox["i", TraditionalForm]], "InlineMath",ExpressionUUID-> "c1f7b59f-9c48-4573-847b-5762d4b5ba56"], " is assigned color ", Cell[BoxData[ FormBox["j", TraditionalForm]], "InlineMath",ExpressionUUID-> "74676588-008b-4829-be82-c3acccf70d74"], ". Let ", Cell[BoxData[ FormBox["y", TraditionalForm]], "InlineMath",ExpressionUUID-> "654b04f0-f60d-4fa8-ab6a-d1954ff4def9"], " be a vector such that ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["y", "k"], "=", "1"}], TraditionalForm]], "InlineMath", ExpressionUUID->"dda5f8bd-353c-4af4-b3e2-ddee3614a1a0"], " if color ", Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath",ExpressionUUID-> "f9445211-f3db-4a90-863a-8b3148df70bf"], " is used in the final set. \n\tEach node must be given a color:" }], "ExampleText", CellChangeTimes->{{3.770489211337929*^9, 3.7704893043993177`*^9}, { 3.770489511073976*^9, 3.770489595661728*^9}, 3.781268509070422*^9, { 3.7812687364277563`*^9, 3.7812687378993473`*^9}}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1328429387,ExpressionUUID->"eba182f1-4675-40ac-ac07-db5be29c48a8"], Cell[BoxData[ RowBox[{ RowBox[{"nodeConstraint", "=", RowBox[{ RowBox[{"Total", "[", RowBox[{"x", ",", RowBox[{"{", "2", "}"}]}], "]"}], "\[Equal]", "1"}]}], ";"}]], "Input", CellChangeTimes->{{3.770489307618823*^9, 3.770489317022624*^9}, 3.771785471727656*^9}, CellLabel->"In[8]:=", CellID->175800125,ExpressionUUID->"cea7f3e3-1ab8-4aac-b2b8-41705892eb23"], Cell["\<\ \tIf two nodes share an edge, then they both cannot be assigned the same \ color:\ \>", "ExampleText", CellChangeTimes->{{3.770489324606657*^9, 3.770489354333232*^9}, { 3.7717858364997225`*^9, 3.7717858807954607`*^9}, 3.771863721840838*^9, 3.781268534103997*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1908454568,ExpressionUUID->"e70a9c10-396e-4374-bd08-d3918e2f2b85"], Cell[BoxData[ RowBox[{ RowBox[{"sameColorConstraint", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i", ",", "j"}], "}"}], "=", "ci"}], ";", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Indexed", "[", RowBox[{"x", ",", RowBox[{"{", RowBox[{"i", ",", "k"}], "}"}]}], "]"}], "+", RowBox[{"Indexed", "[", RowBox[{"x", ",", RowBox[{"{", RowBox[{"j", ",", "k"}], "}"}]}], "]"}]}], "\[LessEqual]", "1"}], ",", RowBox[{"{", RowBox[{"k", ",", "nColors"}], "}"}]}], "]"}]}], ",", RowBox[{"{", RowBox[{"ci", ",", RowBox[{"graphMat", "[", "\"\\"", "]"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.770489374612438*^9, 3.770489404322537*^9}, { 3.771863707287298*^9, 3.7718637283162603`*^9}}, CellLabel->"In[9]:=", CellID->782376714,ExpressionUUID->"200dd3fd-8ded-433f-b926-3c9514eef99e"], Cell[TextData[{ "\tIf node ", Cell[BoxData[ FormBox["i", TraditionalForm]], "InlineMath",ExpressionUUID-> "43f38ca3-59cf-4de4-8afd-c44d7df2873b"], " is assigned color ", Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath",ExpressionUUID-> "88c36443-007d-4a4a-93d6-e3963b238521"], ", then color ", Cell[BoxData[ FormBox["k", TraditionalForm]], "InlineMath",ExpressionUUID-> "e2975b9d-7374-4f76-a7ec-ec3ce0646864"], " is used in the final set of colors:" }], "ExampleText", CellChangeTimes->{{3.770489423713632*^9, 3.7704894721285152`*^9}, 3.7812685463265123`*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->562571657,ExpressionUUID->"ae42e2e5-4eb4-4145-b777-17211c82a6cb"], Cell[BoxData[ RowBox[{ RowBox[{"colorConstraint", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"Indexed", "[", RowBox[{"x", ",", RowBox[{"{", RowBox[{"i", ",", "k"}], "}"}]}], "]"}], "\[LessEqual]", RowBox[{"Indexed", "[", RowBox[{"y", ",", "k"}], "]"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "nNodes"}], "}"}], ",", RowBox[{"{", RowBox[{"k", ",", "nColors"}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.770489480588146*^9, 3.7704894961754923`*^9}}, CellLabel->"In[10]:=", CellID->134405406,ExpressionUUID->"4b26fd33-af5e-422a-a355-131043a79d28"], Cell[TextData[{ "\tThe matrix ", Cell[BoxData[ FormBox["x", TraditionalForm]], "InlineMath",ExpressionUUID-> "8460c5b2-9b02-43d6-a5b8-35b05cf8cdad"], " and the vector ", Cell[BoxData[ FormBox["y", TraditionalForm]], "InlineMath",ExpressionUUID-> "5bc4cc6f-b4d4-47ed-8913-3f371970c7ec"], " are binary variables:" }], "ExampleText", CellChangeTimes->{{3.7704896205132713`*^9, 3.770489638219743*^9}, 3.781268556009941*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->821804060,ExpressionUUID->"b6f9cf65-a9d2-4cf0-84fe-1802c76ff0e8"], Cell[BoxData[ RowBox[{ RowBox[{"binaryConstraint", "=", RowBox[{"{", RowBox[{ RowBox[{"0", "\[VectorLessEqual]", "x", "\[VectorLessEqual]", "1"}], ",", RowBox[{"0", "\[VectorLessEqual]", "y", "\[VectorLessEqual]", "1"}]}], "}"}]}], ";"}]], "Input", CellChangeTimes->{{3.770489644710327*^9, 3.770489655664871*^9}}, CellLabel->"In[11]:=", CellID->1037468261,ExpressionUUID->"02b99628-5ae5-4154-bb2d-7a62a5686e6c"], Cell["\tSolve the graph coloring problem:", "ExampleText", CellChangeTimes->{{3.7704896579118567`*^9, 3.770489666520947*^9}, 3.781268566119652*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1187943859,ExpressionUUID->"af7451d1-c7a5-4495-a106-224f83544255"], Cell[BoxData[ RowBox[{"res", "=", RowBox[{"LinearOptimization", "[", RowBox[{ RowBox[{"Total", "[", "y", "]"}], ",", RowBox[{"{", RowBox[{ "nodeConstraint", ",", "sameColorConstraint", ",", "\[IndentingNewLine]", "colorConstraint", ",", "binaryConstraint"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"x", "\[Element]", RowBox[{"Matrices", "[", RowBox[{ RowBox[{"{", RowBox[{"nNodes", ",", "nColors"}], "}"}], ",", "Integers"}], "]"}]}], ",", RowBox[{"y", "\[Element]", RowBox[{"Vectors", "[", RowBox[{"nColors", ",", "Integers"}], "]"}]}]}], "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.770489686520115*^9, 3.7704897533347597`*^9}, { 3.771785477927944*^9, 3.7717854834636245`*^9}, {3.7717864782182803`*^9, 3.77178647837519*^9}, 3.781268642006381*^9}, CellLabel->"In[12]:=", CellID->1104502552,ExpressionUUID->"65460ecb-fcb9-4fc9-9ab2-2cdadba6f807"], Cell["\tThe minimum number of colors used are:", "ExampleText", CellChangeTimes->{{3.770489755773403*^9, 3.7704897617253637`*^9}, 3.781268576501131*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->1334339418,ExpressionUUID->"6bd8d340-49ab-4ffc-ac3e-6bd8e1f30549"], Cell[BoxData[ RowBox[{ RowBox[{"Total", "[", "y", "]"}], "/.", "res"}]], "Input", CellChangeTimes->{{3.770489764450006*^9, 3.770489768165835*^9}}, CellLabel->"In[13]:=", CellID->1250950348,ExpressionUUID->"cdb8af31-7e05-4f59-889e-ccc6ce4df881"], Cell["\tColor the graph:", "ExampleText", CellChangeTimes->{{3.770489775540039*^9, 3.770489777548613*^9}, 3.781268594961068*^9}, FontSize->18, FontColor->RGBColor[1, 0, 0], CellID->611909936,ExpressionUUID->"00e8c8a0-3403-4287-a19f-7d9edb8adc0b"], Cell[BoxData[{ RowBox[{ RowBox[{"colors", "=", RowBox[{"{", RowBox[{ "Red", ",", "Green", ",", "Blue", ",", "Brown", ",", "Yellow", ",", "Black"}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"HighlightGraph", "[", RowBox[{"graph", ",", RowBox[{ RowBox[{ RowBox[{"SparseArray", "[", RowBox[{"x", "/.", "res"}], "]"}], "[", "\"\\"", "]"}], "/.", RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "j_"}], "}"}], "\[RuleDelayed]", RowBox[{"Style", "[", RowBox[{"i", ",", RowBox[{"colors", "[", RowBox[{"[", "j", "]"}], "]"}]}], "]"}]}]}]}], "]"}]}], "Input", CellChangeTimes->{{3.770490015036891*^9, 3.770490024745183*^9}}, CellLabel->"In[14]:=", CellID->1356735732,ExpressionUUID->"7f3f40f2-72f5-45db-99b4-da278cc13ba6"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["", "SlideShowNavigationBar", CellTags-> "SlideShowHeader",ExpressionUUID->"8ba61e47-1b68-403a-b693-5dcd5fe13a94"], Cell["Thank you!", "Section", CellChangeTimes->{{3.74852624963477*^9, 3.748526252170076*^9}},ExpressionUUID->"c3c32729-6c0a-46a7-8702-\ c4c9ef141b32"] }, Open ]] }, ScreenStyleEnvironment->"SlideShow", WindowToolbars->{}, WindowSize->{1436, 855}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, TaggingRules->{"SlideShow" -> True}, SpellingDictionaries->{"CorrectWords"->{"Mokhasi", "Paritosh"}}, Magnification:>1.25 Inherited, FrontEndVersion->"12.1 for Mac OS X x86 (64-bit) (October 27, 2019)", StyleDefinitions->Notebook[{ Cell[ StyleData[StyleDefinitions -> "Default.nb"]], Cell[ CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[ StyleData[All, "Working"]], Cell[ StyleData[All, "Presentation"], MenuSortingValue -> None], Cell[ StyleData[All, "Condensed"], MenuSortingValue -> None], Cell[ StyleData[All, "SlideShow"]]}, Closed]], Cell[ CellGroupData[{ Cell["Notebook Options Settings", "Section"], Cell[ StyleData["Notebook"], CellBracketOptions -> { "Color" -> RGBColor[0.739193, 0.750317, 0.747173]}]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Title and Section Cells", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Title"], ShowCellBracket -> Automatic, ShowGroupOpener -> False, CellMargins -> {{100, 100}, {14, 50}}, CellGroupingRules -> {"TitleGrouping", 0}, PageBreakBelow -> False, CellFrameMargins -> {{20, 20}, {20, 20}}, DefaultNewInlineCellStyle -> "None", InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, TextAlignment -> Center, LineSpacing -> {1, 0}, LanguageCategory -> "NaturalLanguage", CounterIncrements -> "Title", CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}, {"Subtitle", 0}, {"Subsubtitle", 0}}, FontFamily -> "Arial", FontSize -> 45, FontWeight -> "Bold", FontSlant -> "Plain", FontTracking -> "Plain", FontVariations -> { "Outline" -> False, "Shadow" -> False, "StrikeThrough" -> False, "Underline" -> False}, FontColor -> RGBColor[ 0.8156862745098039, 0.07058823529411765, 0.07058823529411765], Background -> None, FontVariations -> {"Masked" -> False}], Cell[ StyleData["Title", "Presentation", StyleDefinitions -> None], CellMargins -> {{55, 3}, {14, 125}}, LineSpacing -> {1, 5}, FontSize -> 48], Cell[ StyleData[ "Title", "SlideShow", StyleDefinitions -> StyleData["Title", "Presentation"]], CellMargins -> {{100, 100}, {52, 105}}, FontColor -> GrayLevel[1]], Cell[ StyleData["Title", "Printout", StyleDefinitions -> None], CellMargins -> {{2, 0}, {0, 20}}, FontSize -> 24]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Subtitle"], ShowCellBracket -> Automatic, CellMargins -> {{0, 0}, {0, 5}}, CellGroupingRules -> {"TitleGrouping", 10}, PageBreakBelow -> False, DefaultNewInlineCellStyle -> "None", InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, TextAlignment -> Center, LanguageCategory -> "NaturalLanguage", CounterIncrements -> "Subtitle", CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}, {"Subsubtitle", 0}}, FontFamily -> "Arial", FontSize -> 27, FontWeight -> "Plain", FontSlant -> "Plain", FontColor -> RGBColor[0.4, 0.4, 0.4], Background -> None], Cell[ StyleData["Subtitle", "Presentation", StyleDefinitions -> None], CellMargins -> {{58, 0}, {0, 5}}, FontSize -> 36], Cell[ StyleData[ "Subtitle", "SlideShow", StyleDefinitions -> StyleData["Subtitle"]], CellMargins -> {{0, 0}, {0, 5}}, FontSize -> 27, FontColor -> RGBColor[ 0.9019607843137255, 0.9019607843137255, 0.9019607843137255]], Cell[ StyleData["Subtitle", "Printout", StyleDefinitions -> None], CellMargins -> {{2, 0}, {0, 5}}, FontSize -> 18, Background -> GrayLevel[1]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubtitle", StyleDefinitions -> StyleData["Subtitle"]], CellMargins -> {{0, 0}, {30, 5}}, FontSize -> 24, FontSlant -> "Plain", FontColor -> RGBColor[0.4, 0.4, 0.4]], Cell[ StyleData["Subsubtitle", "Presentation"], FontSize -> 24], Cell[ StyleData[ "Subsubtitle", "SlideShow", StyleDefinitions -> StyleData["Subsubtitle"]], CellMargins -> {{0, 0}, {10, 5}}, FontColor -> RGBColor[ 0.9019607843137255, 0.9019607843137255, 0.9019607843137255]], Cell[ StyleData["Subsubtitle", "Printout"], FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Section"], CellFrame -> {{0, 0}, {0.2, 0}}, ShowGroupOpener -> False, CellMargins -> {{60, 50}, {7, 25}}, FontSize -> 36, FontWeight -> "Plain", FontColor -> RGBColor[ 0.8156862745098039, 0.07058823529411765, 0.07058823529411765]], Cell[ StyleData["Section", "Presentation"], CellFrame -> {{0, 0}, {0.2, 0}}, CellMargins -> {{58, 50}, {7, 35}}], Cell[ StyleData[ "Section", "SlideShow", StyleDefinitions -> StyleData["Section", "Presentation"]], CellMargins -> {{58, 50}, {10, 35}}], Cell[ StyleData["Section", "Printout"], ShowGroupOpener -> False, CellMargins -> {{2, 0}, {4, 22}}, FontSize -> 20]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsection"], CellDingbat -> None, ShowGroupOpener -> False, CellMargins -> {{60, Inherited}, {0, 15}}, CellGroupingRules -> {"SectionGrouping", 40}, PageBreakBelow -> False, DefaultNewInlineCellStyle -> "None", InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LanguageCategory -> "NaturalLanguage", CounterIncrements -> "Subsection", CounterAssignments -> {{"Subsubsection", 0}}, FontFamily -> "Helvetica", FontSize -> 24, FontWeight -> "Plain", FontSlant -> "Plain", FontColor -> RGBColor[0.4, 0.4, 0.4]], Cell[ StyleData["Subsection", "Presentation"], ShowGroupOpener -> True, WholeCellGroupOpener -> True, CellMargins -> {{60, 50}, {0, 20}}, LineSpacing -> {1, 0}, FontFamily -> "Helvetica"], Cell[ StyleData["Subsection", "SlideShow"], ShowGroupOpener -> True, WholeCellGroupOpener -> True, CellMargins -> {{60, 50}, {8, 12}}, LineSpacing -> {1, 0}, FontFamily -> "Helvetica"], Cell[ StyleData["Subsection", "Printout"], ShowGroupOpener -> False, CellMargins -> {{2, 0}, {0, 17}}, FontSize -> 16]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubsection"], CellDingbat -> None, ShowGroupOpener -> False, CellMargins -> {{60, Inherited}, {0, 15}}, CellGroupingRules -> {"SectionGrouping", 50}, PageBreakBelow -> False, DefaultNewInlineCellStyle -> "None", InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LanguageCategory -> "NaturalLanguage", CounterIncrements -> "Subsubsection", FontFamily -> "Helvetica", FontSize -> 20, FontWeight -> "Plain", FontSlant -> "Plain", FontColor -> RGBColor[0.4, 0.4, 0.4]], Cell[ StyleData["Subsubsection", "Presentation"], ShowGroupOpener -> True, WholeCellGroupOpener -> True, CellMargins -> {{60, 50}, {0, 20}}, LineSpacing -> {1, 0}], Cell[ StyleData[ "Subsubsection", "SlideShow", StyleDefinitions -> StyleData["Subsubsection", "Presentation"]]], Cell[ StyleData["Subsubsection", "Printout"], ShowGroupOpener -> False, CellMargins -> {{2, 0}, {0, 22}}, FontSize -> 14]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell["Standard", "Subsection"], Cell[ CellGroupData[{ Cell[ StyleData["Text"], CellMargins -> {{60, 10}, {7, 7}}, InputAutoReplacements -> {"TeX" -> StyleBox[ RowBox[{"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX" -> StyleBox[ RowBox[{"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, 0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma" -> "Mathematica", "Mma" -> "Mathematica", "MMA" -> "Mathematica", "gridMathematica" -> FormBox[ RowBox[{"grid", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> FormBox[ RowBox[{"web", AdjustmentBox[ StyleBox["Mathematica", FontSlant -> "Italic"], BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], Inherited}, LineSpacing -> {1, 3}, CounterIncrements -> "Text", FontFamily -> "Helvetica", FontSize -> 12], Cell[ StyleData["Text", "Presentation"], CellMargins -> {{60, 50}, {10, 10}}, FontSize -> 17], Cell[ StyleData[ "Text", "SlideShow", StyleDefinitions -> StyleData["Text", "Presentation"]]], Cell[ StyleData["Text", "Printout"], CellMargins -> {{2, 2}, {6, 6}}, TextJustification -> 0.5, Hyphenation -> True, FontSize -> 10]}, Closed]], Cell["Display", "Subsection"], Cell[ CellGroupData[{ Cell[ StyleData["Item", StyleDefinitions -> StyleData["Text"]], CellDingbat -> Cell["\[FilledSmallCircle]", FontWeight -> "Bold"], ShowGroupOpener -> False, CellMargins -> {{84, 10}, {7, 7}}, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, CounterIncrements -> "Item"], Cell[ StyleData["Item", "Presentation"], CellMargins -> {{124, 10}, {7, 7}}], Cell[ StyleData[ "Item", "SlideShow", StyleDefinitions -> StyleData["Item", "Presentation"]]], Cell[ StyleData["Item", "Printout"], CellMargins -> {{39, 2}, {0, 6}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subitem", StyleDefinitions -> StyleData["Item"]], CellMargins -> {{108, 10}, {7, 7}}, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15150}, CounterIncrements -> "Subitem"], Cell[ StyleData["Subitem", "Presentation"], CellMargins -> {{146, 10}, {7, 7}}], Cell[ StyleData[ "Subitem", "SlideShow", StyleDefinitions -> StyleData["Subitem", "Presentation"]]], Cell[ StyleData["Subitem", "Printout"], CellMargins -> {{67, 2}, {0, 6}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ItemNumbered", StyleDefinitions -> StyleData["Text"]], CellDingbat -> Cell[ TextData[{ CounterBox["ItemNumbered"], "."}]], ShowGroupOpener -> False, CellMargins -> {{84, 10}, {7, 7}}, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, CounterIncrements -> "ItemNumbered"], Cell[ StyleData["ItemNumbered", "Presentation"], CellMargins -> {{124, 10}, {7, 7}}], Cell[ StyleData[ "ItemNumbered", "SlideShow", StyleDefinitions -> StyleData["ItemNumbered", "Presentation"]]], Cell[ StyleData["ItemNumbered", "Printout"], CellMargins -> {{39, 2}, {0, 6}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData[ "SubitemNumbered", StyleDefinitions -> StyleData["ItemNumbered"]], CellDingbat -> Cell[ TextData[{ CounterBox["SubitemNumbered", CounterFunction :> (Part[ CharacterRange["a", "z"], #]& )], "."}]], CellMargins -> {{108, 10}, {7, 7}}, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15150}, CounterIncrements -> "SubitemNumbered"], Cell[ StyleData["SubitemNumbered", "Presentation"], CellMargins -> {{146, 10}, {7, 7}}], Cell[ StyleData[ "SubitemNumbered", "SlideShow", StyleDefinitions -> StyleData["SubitemNumbered", "Presentation"]]], Cell[ StyleData["SubitemNumbered", "Printout"], CellMargins -> {{67, 2}, {0, 6}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ItemParagraph", StyleDefinitions -> StyleData["Item"]], CellDingbat -> None, CellMargins -> {{84, 10}, {7, 7}}, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15100}, CounterIncrements -> "ItemParagraph"], Cell[ StyleData["ItemParagraph", "Presentation"], CellMargins -> {{124, 10}, {7, 7}}], Cell[ StyleData[ "ItemParagraph", "SlideShow", StyleDefinitions -> StyleData["ItemParagraph", "Presentation"]]], Cell[ StyleData["ItemParagraph", "Printout"], CellMargins -> {{39, 2}, {0, 6}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData[ "SubitemParagraph", StyleDefinitions -> StyleData["Subitem"]], CellDingbat -> None, ReturnCreatesNewCell -> True, CellGroupingRules -> {"GroupTogetherNestedGrouping", 15200}, CounterIncrements -> "SubitemParagraph"], Cell[ StyleData["SubitemParagraph", "Presentation"]], Cell[ StyleData[ "SubitemParagraph", "SlideShow", StyleDefinitions -> StyleData["SubitemParagraph", "Presentation"]]], Cell[ StyleData["SubitemParagraph", "Printout"]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Formulas and Programming", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["DisplayFormula"]], Cell[ StyleData["DisplayFormula", "Presentation"], CellMargins -> {{60, Inherited}, {Inherited 1.5, Inherited 1.5}}, FontSize -> 17], Cell[ StyleData[ "DisplayFormula", "SlideShow", StyleDefinitions -> StyleData["DisplayFormula", "Presentation"]]], Cell[ StyleData["DisplayFormula", "Printout"], CellMargins -> {{39, Inherited}, {Inherited, Inherited}}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData[ "DisplayFormulaNumbered", StyleDefinitions -> StyleData["DisplayFormula"]], CellFrameLabels -> {{None, Cell[ TextData[{"(", CounterBox["DisplayFormulaNumbered"], ")"}]]}, {None, None}}, CounterIncrements -> "DisplayFormulaNumbered"], Cell[ StyleData["DisplayFormulaNumbered", "Presentation"], CellMargins -> {{60, Inherited}, {Inherited 1.5, Inherited 1.5}}, FontSize -> 17], Cell[ StyleData[ "DisplayFormulaNumbered", "SlideShow", StyleDefinitions -> StyleData["DisplayFormulaNumbered", "Presentation"]]], Cell[ StyleData["DisplayFormulaNumbered", "Printout"], CellMargins -> {{39, Inherited}, {Inherited, Inherited}}]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Inline Formatting", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["InlineFormula"]], Cell[ StyleData["InlineFormula", "Presentation"], FontSize -> 17], Cell[ StyleData[ "InlineFormula", "SlideShow", StyleDefinitions -> StyleData["InlineFormula", "Presentation"]]], Cell[ StyleData["InlineFormula", "Printout"]]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Input and Output Cells", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Input"], ShowCellBracket -> True, ShowGroupOpener -> False, CellMargins -> {{103, 10}, {5, 7}}, CellBracketOptions -> { "Color" -> RGBColor[0.734936, 0.713848, 0.694041]}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, LanguageCategory -> "Mathematica", FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, CounterIncrements -> "Input", FontWeight -> "Bold"], Cell[ StyleData["Input", "Presentation"], CellMargins -> {{110, 50}, {8, 10}}, LineSpacing -> {1, 0}, FontSize -> 17], Cell[ StyleData[ "Input", "SlideShow", StyleDefinitions -> StyleData["Input", "Presentation"]]], Cell[ StyleData["Input", "Printout"], CellMargins -> {{39, 0}, {4, 6}}, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["InputOnly"], ShowCellBracket -> True, ShowGroupOpener -> False, CellMargins -> {{103, 10}, {7, 7}}, CellBracketOptions -> { "Color" -> RGBColor[0.734936, 0.713848, 0.694041]}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, DefaultFormatType -> DefaultInputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, LanguageCategory -> "Mathematica", FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, CounterIncrements -> "Input", MenuSortingValue -> 1550, FontWeight -> "Bold"], Cell[ StyleData["InputOnly", "Presentation"], CellMargins -> {{110, Inherited}, {8, 10}}, LineSpacing -> {1, 0}, FontSize -> 17], Cell[ StyleData[ "InputOnly", "SlideShow", StyleDefinitions -> StyleData["InputOnly", "Presentation"]]], Cell[ StyleData["InputOnly", "Printout"], CellMargins -> {{39, 0}, {4, 6}}, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Output"], ShowCellBracket -> True, CellMargins -> {{103, 10}, {7, 5}}, CellBracketOptions -> { "Color" -> RGBColor[0.734936, 0.713848, 0.694041]}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, DefaultFormatType -> DefaultOutputFormatType, "TwoByteSyntaxCharacterAutoReplacement" -> True, HyphenationOptions -> { "HyphenationCharacter" -> "\[Continuation]"}, AutoItalicWords -> {}, LanguageCategory -> None, FormatType -> InputForm, CounterIncrements -> "Output"], Cell[ StyleData["Output", "Presentation"], CellMargins -> {{110, 50}, {10, 8}}, LineSpacing -> {1, 0}, FontSize -> 17], Cell[ StyleData[ "Output", "SlideShow", StyleDefinitions -> StyleData["Output", "Presentation"]]], Cell[ StyleData["Output", "Printout"], CellMargins -> {{39, 0}, {6, 4}}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Code"], CellMargins -> {{103, 10}, {5, 10}}], Cell[ StyleData["Code", "Presentation"], CellMargins -> {{110, 50}, {8, 10}}, LineSpacing -> {1, 0}, FontSize -> 17], Cell[ StyleData[ "Code", "SlideShow", StyleDefinitions -> StyleData["Code", "Presentation"]]], Cell[ StyleData["Code", "Printout"], CellMargins -> {{39, 0}, {4, 6}}, LinebreakAdjustments -> {0.85, 2, 10, 1, 1}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Print"], CellMargins -> {{103, Inherited}, {Inherited, Inherited}}, FontSize -> 14], Cell[ StyleData["Print", "Presentation"], CellMargins -> {{70, Inherited}, {Inherited 1.5, Inherited 1.5}}, FontSize -> 17, Magnification -> Inherited 1.5], Cell[ StyleData[ "Print", "SlideShow", StyleDefinitions -> StyleData["Print", "Presentation"]]], Cell[ StyleData["Print", "Printout"], CellMargins -> {{39, Inherited}, {Inherited, Inherited}}]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData[ "WolframAlphaShortInput", StyleDefinitions -> StyleData["Input"]], CellMargins -> {{98, 10}, {5, 7}}, EvaluationMode -> "WolframAlphaShort", CellEventActions -> {"ReturnKeyDown" :> FrontEndTokenExecute[ EvaluationNotebook[], "HandleShiftReturn"]}, CellFrameLabels -> {{ Cell[ BoxData[ DynamicBox[ FEPrivate`FrontEndResource["WABitmaps", "Equal"]]], CellBaseline -> Baseline], None}, {None, None}}, FormatType -> TextForm, FontFamily -> "Helvetica"], Cell[ StyleData["WolframAlphaShortInput", "Presentation"], CellMargins -> {{107, 50}, {8, 10}}], Cell[ StyleData[ "WolframAlphaShortInput", "SlideShow", StyleDefinitions -> StyleData["WolframAlphaShortInput", "Presentation"]]], Cell[ StyleData["WolframAlphaShortInput", "Printout"], CellFrameLabelMargins -> 3]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData[ "WolframAlphaLong", StyleDefinitions -> StyleData["Input"]], CellMargins -> {{100, 10}, {5, 7}}, StyleKeyMapping -> { "=" -> "Input", "Backspace" -> "WolframAlphaShort"}, EvaluationMode -> "WolframAlphaLong", CellEventActions -> {"ReturnKeyDown" :> FrontEndTokenExecute[ EvaluationNotebook[], "HandleShiftReturn"]}, CellFrameLabels -> {{ Cell[ BoxData[ DynamicBox[ FEPrivate`FrontEndResource["WABitmaps", "SpikeyEqual"]]]], None}, {None, None}}, DefaultFormatType -> TextForm, FormatType -> TextForm, FontFamily -> "Helvetica"], Cell[ StyleData["WolframAlphaLong", "Presentation"], CellMargins -> {{107, 50}, {8, 10}}], Cell[ StyleData[ "WolframAlphaLong", "SlideShow", StyleDefinitions -> StyleData["WolframAlphaLong", "Presentation"]], CellMargins -> {{107, 50}, {8, 10}}], Cell[ StyleData["WolframAlphaLong", "Printout"], CellFrameLabelMargins -> 3]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Program"], CellMargins -> {{60, 4}, {6, 8}}], Cell[ StyleData["Program", "Presentation"], CellMargins -> {{60, 50}, {8, 10}}, LineSpacing -> {1, 0}, FontSize -> 17], Cell[ StyleData[ "Program", "SlideShow", StyleDefinitions -> StyleData["Program", "Presentation"]]], Cell[ StyleData["Program", "Printout"], CellMargins -> {{2, 0}, {0, 8}}, FontSize -> 10]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["CellLabel"]], Cell[ StyleData["CellLabel", "Presentation"], FontSize -> 12], Cell[ StyleData[ "CellLabel", "SlideShow", StyleDefinitions -> StyleData["CellLabel", "Presentation"]]], Cell[ StyleData["CellLabel", "Printout"], FontSize -> 8, FontColor -> GrayLevel[0.]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ManipulateLabel"]], Cell[ StyleData["ManipulateLabel", "Presentation"], FontSize -> 15], Cell[ StyleData[ "ManipulateLabel", "SlideShow", StyleDefinitions -> StyleData["ManipulateLabel", "Presentation"]]], Cell[ StyleData["ManipulateLabel", "Printout"], FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["GraphicsLabel"]], Cell[ StyleData["GraphicsLabel", "Presentation"], FontSize -> 14], Cell[ StyleData[ "GraphicsLabel", "SlideShow", StyleDefinitions -> StyleData["GraphicsLabel", "Presentation"]]], Cell[ StyleData["GraphicsLabel", "Printout"], FontSize -> 8]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Graphics3DLabel"]], Cell[ StyleData["Graphics3DLabel", "Presentation"], FontSize -> 14], Cell[ StyleData[ "Graphics3DLabel", "SlideShow", StyleDefinitions -> StyleData["Graphics3DLabel", "Presentation"]]], Cell[ StyleData["Graphics3DLabel", "Printout"], FontSize -> 8]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell[ "Styles for SlideShow", "Section", CellChangeTimes -> {{3.514665148412793*^9, 3.5146651505550737`*^9}}], Cell[ StyleData["slideshowheader"], ShowCellBracket -> False, CellMargins -> {{0, 0}, {0, -2}}, Evaluatable -> False, CellHorizontalScrolling -> False, PageBreakBelow -> False, CellFrameMargins -> 0, ImageMargins -> {{0, 0}, {0, 0}}, ImageRegion -> {{0, 1}, {0, 1}}, Magnification -> 1, Background -> GrayLevel[1], CellPadding -> 0, CellFramePadding -> 0], Cell[ CellGroupData[{ Cell[ StyleData["hidefromslideshowgraphic"], ShowCellBracket -> False, CellMargins -> {{0, 0}, {0, 0}}, Evaluatable -> False, CellHorizontalScrolling -> False, PageBreakBelow -> False, CellFrameMargins -> 0, ImageMargins -> {{0, 0}, {0, 0}}, ImageRegion -> {{0, 1}, {0, 1}}, Magnification -> 1, Background -> None, CellPadding -> 0], Cell[ StyleData["hidefromslideshowgraphic", "SlideShow"], ShowCellBracket -> False, CellElementSpacings -> { "CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" -> 0}, CellOpen -> False, CellHorizontalScrolling -> False], Cell[ StyleData["hidefromslideshowgraphic", "Printout"], Magnification -> 0.6]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["slideshowheader2"], ShowCellBracket -> False, CellMargins -> {{0, 0}, {0, 0}}, Evaluatable -> False, CellHorizontalScrolling -> False, PageBreakBelow -> False, ImageMargins -> {{0, 0}, {0, 0}}, ImageRegion -> {{0, 1}, {0, 1}}, Magnification -> 1, Background -> GrayLevel[1]], Cell[ StyleData["ConferenceGraphicCell", "SlideShow"], ShowCellBracket -> False, CellElementSpacings -> { "CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" -> 0}, CellOpen -> False, CellHorizontalScrolling -> True], Cell[ StyleData["slideshowheader", "Printout"], FontSize -> 8, Magnification -> 0.75]}, Closed]], Cell[ StyleData[ "ConferenceGraphicCellSlideShowOnly", StyleDefinitions -> StyleData["ConferenceCellGraphic"]], ShowCellBracket -> False, CellMargins -> 0, CellElementSpacings -> { "CellMinHeight" -> 0, "ClosedCellHeight" -> 0, "ClosedGroupTopMargin" -> 0}, CellOpen -> False], Cell[ CellGroupData[{ Cell[ StyleData["SlideShowNavigationBar"], Editable -> True, Selectable -> False, CellFrame -> 0, ShowGroupOpener -> False, CellMargins -> {{0, 0}, {3, 3}}, CellOpen -> True, CellFrameMargins -> 0, CellFrameColor -> None, Background -> None], Cell[ StyleData["SlideShowNavigationBar", "Printout"], PageBreakAbove -> Automatic]}, Closed]]}, Closed]], Cell[ CellGroupData[{ Cell[ "Styles for Slide Show Environment Documents", "Section", CellChangeTimes -> {{3.559592561220532*^9, 3.559592575768806*^9}, 3.559652073182283*^9}], Cell[ StyleData["FirstSlide"], PrivateCellOptions -> { "PagewiseNotebookBaseStyle" -> { FrontEnd`BackgroundAppearance -> FrontEnd`FileName[{"PresenterTools"}, "Background-WTC2017.png"]}}]}, Open]]}, Visible -> False, FrontEndVersion -> "12.1 for Mac OS X x86 (64-bit) (October 27, 2019)", StyleDefinitions -> "PrivateStylesheetFormatting.nb"], presentertemplt`firstslideimage -> Image[CompressedData[" 1:eJzt3UmudOtVreFDUqBIF5BL0AKqFKkaIcq2MBYVI9lIiF7QEMDkeZ7n0CNz flmW5eO9IlYykzHmfAuTey+6hR0r9ol4/jHm9+2f+uqvfflXfvSzzz771k98 /j++/JXf+LlvfvMrv/kLP/n5/+MXv/GtX/36N772yz//jV//2te/9s2f/eqP ff6//K0f+eyzX/r8//+Pf/5//853vvPZp/+DYRiGYRiGeTbfc9Vvf+lnmID5 nS/99OH87pv59pv5vRfz+yfmDz7/+d7NH76ZPzoxf3xy/uTC/OmF+bOL8+c3 5y+C5i+D56+Y1ol+P6N+z+78jl/9b+nTXPlv9ex//2c/U858Pn2ad59zZz4r z3zmHn1ev/us//aJ74uj75nu70Dmu4OtYsfVVe8+a7pcdeVzuspVeIrpcJaT sTJ8FW0sfMVkDraKG0VXVWVVZ13lmlWpearbDEfz1wLT/QwqrLXZWPgKXzkM toqZqa46Y6vOrGqLqbpNoOKmSQZTcZaSsaIzrAhfnTHWE1+dMRa+8hts9Xxw lb6rOro/V091m6d7HJ3lkGN1ZVgOvnqaX73a8+3+ftw62OrZ4KpZpurOqTCU 5mxyloqxqjtCdV/dza7wVc9gq/sz1VWqWZWyqdQ91W2TqaPsrGpjTciwInx1 xlh3+0F85TPY6t7gKlylbKpuc2wcVWdNMNYmX7F7NWOw1fW5e4fVBldhqh5P dbvibwSn+5lMc1aWsVw7QnzFvBpsdW0cXeW6WzXFVBMs1e2kCf7aaKzpGRa+ Yo4GW12bjC5wi6u6syp3U2GoOd7CWBq+ijhDiK+YjwZbnR9cpeMqZVNFugpH 6YyDs6qN5ZBh4St81THY6tzgqtwOUC2rmuapbpdMHVVrTTAWvsJXzoOt3k/1 mUBchamwlN9MMRa+mucrbFU/2Or1THPVmc8P5w7QzVRYau64O8vNWFU7WBF3 NOCr+YOtjgdX5blKJavqMNVET/3t57+fatP9TLKsNc1YjhkWvmLeDbY6nsq7 FnCVflalYCr8NMNeW4ylnGFNvZ+B3SuNwVYfD67q6wDVsqptnuo2T/e4OWuS sab56p2x7toKX+kPtvrhwVXXbOWSVbnkVBhKbxyctc1YER3hmTtmuvtBfOU5 2OoHp/KuBVyl6aqppur2yaRRdha+0vMVu1f7Blt9f3BVj6s2mwpLzRmM5dsR 4it8FT3Y6vsT3QXevRsUVz13VVX/p5RRdduC0XRWlbEcMqzu/St8tWew1XdH Zccq21Vn/n2m5CrlrErBVN2G+OL8nch0P4dsZ00yFr7i7ODEwVY6rnpnq25X Ve9WTTHVFE91e2mKvbqdpeirs8bCV7W+6v5udp7ttnLZsZriqu4O0NVUGGqm uxxzrCkZFr4iu8ocbFWzY9W5u+7kKsWsqqv7w1Ea4+QsRWPhq9q7Gdi90pjN tprgKoX9KnVXOZkKS3kMxtLIsPAVvlKdrbba4KqK84AdHWB2VjXJU90G2TKq zlIzFr7S8BW7V/mz0VYqO1bdZwInu8phpwpLzZwJxlLKsPAVu1eOg61w1VVX TewAnU3VbYnvzd8LTfezyLTWFGPhK3w1ebbZSqELxFX7TDXBU91emmCvLcZS 7gjx1TNfdX+Huwy20tqxwlWarlIwFY6aZS43Y03KsJR9pb571f0d7jLbbaXU BeKq665SNVWUq3BU/zg4q3IfC1/t8hXZ1b3ZZKvuzKrzroVuVylkVS6mwlHa o2ysJ85S6AnxFb6aMltshatyzgO6dIAO/R+e8hxFZzlnWJt8Vb17FXnvVfd3 uvpstZXLjhWuwlRYymu2GcuhI9zoK7IrbKXkqju2wlXeruow1URP/YPYdD+P Cc6alGF1+qrr7CC+wlYKrnLZW59iqk2ecjNUt4umW6zbWkrOmmSsrv2r6H4Q X2GrK656Zasp+1WdrpqcU3WaCkfN9tZUY3XmWE/3sKb5KjK/4k7R3ba6ekeo Smbl6qrOvErRVBGuwlJ6o2wsfFWXX23fv8JW2GqLq97ZCld5ZFV4ymswlnZH iK9yzg6SXe20laOrMnesnrjqna0ie0BMtdtS//iF6f55FKzlYKzJvlI9P6iw e4WvdtkquwvsOBOIq7RdpWKqbld85KOO6X4GE4yVlWEp+sr1/CDdoPZssJV6 ZtW1Y1XhKpcOsNJUzp7qdpOrvbqN5Zph4St85TqTbIWrcNUGU+Eob3O5Gcsh w1L31YTdK7rBnbbq7AI7dqy6zgTiqpmm6naN4mCs/AwLX/XtXpFdYau7tpq6 Y7XJVdtNhaW0RtVZ+MrfV87dINnVTFtdyawcukDFuxZUd9azXdXR/2Epj1Ez lmqGpbqDha/oBrHVdVspd4FZO1bdZwKn5VXVrsJTvrPRWJ0Zlnp+lbXbrpBd HX230g3OstUVV72y1dXMSm3HCldhKgVP/ZPAdD+DaGsp94TuvlK9W1TZV1dt tdVXzraK2l936AKVzwQq94DKe1Wunuq2k5u9MFafr84Yq8tXDrvtZFfYKjqz UnLVk8zqiavO2KrSVZkdoJupcJSftzqNtdlX2flVx+7VXVu98lVUN0h25W2r rszKyVVPdtcrXbUlq1I3Vbdv1EbdWe7Gwle7usFuM2Cr+7a6mlm5d4G4yiOr UvVUt13cRtVZFcbqzLBUfLV594pucIettnSBWTtWuKrGVYqm6vbJlMFX+Kpq 9yrjXoaKc4Pbu0E3Wynur6t1gdtcld0BVmdVWMpvFJx1d/8v01iOvlLcbSe7 8psJttqWWXWdCXR3lbKp8NSccTSWi6/OGqszv5q8e0V2NdNWmZkVrqqxFa7K cVW3Jz6afy6e7te7zVhdO+4O+ZXL7hV77djqyFad++vsWM1zVZWpJmRU1XZy tleXsVwzrM2+mpZdbfWVi63IrGa7SmFn3cVVOMrXWy7G2uKrabvt0b7CVjtt lb1nNcFV2V2gqquyO8DJpur2Tve4OEvNWPhKe/cqKrs6+m7FV362inLVR7aK zqxwVY6rVLKqalNhqf6ZZiyVDAtfeWRXUb7CVnpDZhXfBTq5KiuvynaVqqm6 reI8qsbKzrCm++qprSb4iuxql63UMqsJrnq6Y0VelecqPOU1SsZy7Qin+Mpl 90otu5rqq0m2ogvc6SolU9111TRP/UvD4Cy9DEvRV3SD7LVvt1VHZkUX+MxV 72zVmVcpZlXunuowlLq78BW+UveVWnbVbQ1sRWaFq/Lzqoqsys1U3TZyNZeb sbI6wmm+ctm9IrvCVk9cpbq/PsVVlV2gm6s6TYWjvKw11Vj4quZehkl77djK w1aT9tff/XeXZStc5eMqPOVtrS5j4Su6QbKr3bZyyaw2dIFnbKXoKkyFpdSd 1WEsBV+dNRa+6u0GI2y1+cygu62uZFZ3bEUXiKvuugpPzR4lY6lkWBt9lbF7 RXblP2q2IrPyuW9hk6vu7LgouKrbHxtGxVhuvqrsB5/Yqmv3SiG7OvJVZnbV bRBsFZNZbd5ff/d5kn0mcKqr8NQPzr8mT/fri3aWsrGc86st3WDVXjvZlY+t lDKr6P11NVdlZlbKrlLdrXI2VbadXO3VaSwFX0VnWOrdYIavlLtBsquZturK rBy6QHVXnbVVp6ucsiocpe2tLmM5+SqyH1TdvSK72uUrFVuRWWl0gbjKI6vC UX7emmasqfmV0+4V2ZXuONpqSmal5qp3tqraXXdx1TRTddtGaZSdVWEs9R33 ibtX6nvtZFd+tnLPrCr317u6QFzV6yo8NdNa+KqvH6QbJLvCVmRW7l2gsqsq OkAlU3U7xX3cjYWvPH1FduU13bYis8JVLq5yNlW3R6aOgrEcd7DoBsmusJWO rZwyqyld4CtbVd+1sMFVkz31b5//PkRN92vJNJZ7R+jkq3effWrZVfReO9nV HltNz6zoAnHVVFNF2snZX13GwldzfKWcXUXYakN21Wkrh78b6J5ZPXFVRWal 7Kq731UdrtpsKFVzORkLX/V0g47Z1dF3K9nVLFtdcdWRrVwzK/cucLurXEzV bSF3a3UYy8lXZ3ctI3y1ea+d7GqHrcisPLtAXDXfVN3W6R5lYyllWIq+ohus uU80O7vCVr22mp5ZqbnqjK0UXaW0W6Vqqm7PqI6qs/CVnq+qu8GqOxnIrnxs 5XDvAplVTma1Na9SNFW3W9wGX2n4ynn3SnmvXW3vClvl2iqzDySz8u0Cu/Oq qqwKT2mOo7HwlXY3qLzXTnblaavJmVX1/nrGuUBcVZ9V4SmPUTFWZoaFr/qz q6q9drIrX1uRWc3LrNRcddZWqrtV20z17y+m+2frcBa+ivPVpHODkdmV2pnB ifcxONqKzMprf10xr8o01V1XTfHUKytlT/dr7zaWi6/O7lQqZ1dP9to3ZFfb e8FKW5FZ9eyvb3FVVl6FqfQM5WAufKWRXb3z1dbsSm3vClv5ZFZXbaV8NlAx s1LrAje6CkvpW6vDWPjKuxvcmF1N6wWrbPXRs+noAyMzKxVXkVn5ucrBVN3+ mWatSRnWNF+p2cpt74qddi1bTc2s2F/f46rqrApP+VtrSoal5qtp3aBqdqWy 095tp622itph796zmtoF4iodV3U7RnlUjbXRV67d4LTs6qqttmZXFbZS2WE/ stXEzApXablKzVTdZnEcd2Phq93ZFTvt2CrLVVdtRWbV0wXiqp2m+o8vTPfP U+ksxQwr2lebd6+2Z1cb72PYZCvFHfZJmVXVjtXZfyfjqn5TfdFLWbPdWPiq ZveK7Oq1rciu6mylssNOZvVsf31yF6jkKkdPVflJ2Vzdvrqz++fsK8fs6p2v VLMrekFs1ZlZVe5ZOXaBuGqGqbqt5OAtJ2PhK49u0Cm7Yqe9x1avzlhO3GFX yqyU99dxla6pui3k6Cx89dxXFd3g5Owq+z4GesE+W03rA9mz6suscFWtqbrN M8VaXcbq9pXL7pXTnQwV2ZXrTnu3o6bbSi2zumMrNVe9sxWummOqbteojZqx 8FVON3jXV2RXZFcqtoq402rCDrtSZvXEVSpdIK7CUxirzleOu1fTs6up9zFg K6/MSnWHXW3PKjuzqt6xmuAqTDXDWfhKa/eK7Kpup33LXVcbbeV470L1nQvT usBuVymYqtslk8bNV1eNVe0rsiuPvSvuY+i11ZYddoXMynXPSrELnOqqbod8 b/4zeLpfj4KxJuVXZFf12VXXfQzYysNWajvslfcuOGZWuGquqaL95OIulwyr 01cV3WDmXrtDdtV1l2jETvu0XhBb9d+7oJZZPXFVhK2qu8BprtrmKCVvdRnL pR9U8FVHN+iYXdELatlKxVVdfSCZFa56aitlV3X7yMVZ6r5Szq9cd6/Us6uo nXZstdtWXecDo+9dULqD3akLdHSVoqm6DeTurGpjOWRXFbtXTra6m1117bRf tVW1r7pNha127rA7Z1YOrqrOqvCUh7NUfXXFWHSDPdmV4k472VW/rZRclW0r lXsXHDMr1S5QOa/CVF7OUvWVaze4xVaKO+3YqtZWGzIr5x12MistVymYqtsv DqNgLHyl5avqM4NqO+30gtiKzMo/s1J3VVVWhan6xy3D6vKVSze4Mbtip93f Vkqu6rLV9MzKaX9dZceq01XdNpkw+KrWV122yvLV1p12bEVm5brDnpFZZdsK V9W4qtsjR/NfJ6f758x0lquvpnSDZFd6vSC2wlaV9y5My6y2dYHbTHXWTVHj bKztvlK1VdbeVVV2RS/obavNrorOrJRc9cpWLq7aaKqpdnKxV7Wzsozl1g9O 8ZVTdpXpK2y121YKXeBdW6l2gbhK01TdNnJy1jZfTc+vlLpB9q48zguq2mrq PeyVZwMnZ1YdPWCmq5Szqm4HOTurylcO/SDZ1czsStlWnb7KsBWZlX4f2JVZ uXaBV7+7rthK0VTd3pnkLHxFduW2d4Wt+m1FH6h5NnBzZoWr8NRWY6l3gwrn BquzK3rBnb0gttKwlVIfeDezmrq/jqv2joqvFPKrDdmV0n1X9ILe2VW3rba4 KqMPrL7Pisyq31V4CmPhK7IrbDXbVmRWZFa4ys9V3U5xHnyl0w0qZleVO+1d vSB3MWArd1sp7bBPyaxwVe/8d9B0vw4HX5Fd+e+0K/aC1bZy3blSs1XH3QtR rqq0VUYfqHw2UDmzynSVq6miDKVuri5fkV35ZVdTekFHW3X4qsJWKplVtq3U +0DFzCpifx1X9Zqqy1Eq1iK/Irsiu6IXzLSVeh/oZKspfaBKZtXZBU51Vbeb 1Jw1Jb9y6wax1XxbHflqoq0Udq3cXaV0p1XHDvuGLnCaq7p9pO4sfKWXXXFe cK6tlHeulGxFZqXXBz6x1eTMKqsLVDRVt4McnbXFV2RX/dkVttLMrrJtRR/o vcP+ylaTMitctc9U2caq9BXZ1Yzs6tW/tzf5Cluxa6ViK7U+kMzK11Xdxuke fOXpq7vZ1bt/W9ILamdXk2zFrtWOHfaszOqMrXAVpuoefBXbDU7MrugF+22l unOlYisyqx5bTe4DcRWm2uYrsqv47EqlF+w8LzjFVpW+6rAVfSA77Aqu6j4X 2O2qbrd8mv85Md0/o4KxHHw11VZkVzq+2marDbtWrncvkFlpZlabXHXGT0/G zVj46pmv6AWx1URbKe9aHdlqa2bVYavsHfaOzEqpC3QwVbaluq01yVeOtnLL rtx6QWVbOe2zK9hKPbPaaCsyK70uUNlV3Z7qcJa6r1yzq2k77RvPCyrvXGEr X1tt7QNdMivHLlDRVd1uUnBWh686u8EJ2ZX7XVcOtrrqq4n77NW2Uti1csus qm01fYd9k6u2e6rCWBN8RXaFrVx6wS22UtljV8msVPpAtTutpmZW2V2giqu6 PTTdWE7dINnV/F5Q2VYuO1eqtnLtAx1spdgHkllpuqrbP27GqrRVtK+mZVfV d11tPS+oYqsjXznYil2rnF2r6X1gxQ67cmbl6Kpu7zgba4OvVLKr6l7Q4byg ei+4ZZ+90lYKu1ZHtpqUWU07H6iYWeGquePmK7Krub3gRFtd9RW28rgzlD5w Xh9IZhXjqm7TKA2+mm+rbb2gq61c99mf2Io99lm2UuwDyaxwlbOxqnzlnF25 9YLbzwsq2Mphn13RVq67VndsdWfXSqkPJLOKs1WHq7rt4jAOvjr7O0l2RS9Y aSuVnStlW7HH7pFZTbKVc2Z11VZbXfW/J6b7Z+zyVWd2Femr7p12bJVvK8c7 RLEVe+z0gfdtNTmzcnLVGUPdGSdjkV3pZVcZtqry1bsz6Vd8pWKrSfvsVbZS 2GPHVlq2UuoD3TIrdVdlWUrBWviqPrtSs9Xm7KrDVo777NG2ytpjj3AVtoq1 lXpm5bDDPs1VXaaqNpaqrbr22tV32ukF5+2zT7WV4x57hK1cXTXNVhNcdcdW iqbqdlSXs1R95Wqrp9nV3fOC2Cq3F9x6VrDLVh194BVbkVnRB6plVmqu6jaT grHwVV12pdYLRt9z9e7MuKuttp4VPGOrKXvsH9mKPjA+s1I4HzjNVXdthany jVXlq669KxVbZfWC7Fxp7bNjKz9bsWtFH+hqKwVXdZtomq82Zlf0grq2OvIV ZwV1baVwH7uaraLvDL3rqg5bqfSBuGqnq7KMpeYrRVvRC/rZavJZQWylbatt mVWmregDtWzVbR98pZFdqdhKrRes3LlSshVnBWttNf3+BfrA/l2ryj4QV+2a ib5SzK46e8E7tlLPrpRsxVnBZ7aafv8Cu1a+faByZoWr9KfLV2RX9IKV2RVn BWfaijOCsbtWU2w1vQ/MthWu0vHV5uwKW+nbSuWs4GZbcUawdo9dJbNStNWm PrAjs+o2jdJMyq7oBbGV21nBLFtV7rNPs5XSGUH6QE1bkVnhKnzV2wtusdUr XznZSuWsILbKPyOoYit2rebtWrllVrhK11fTbOXSC96xlUp2ha2wVcUZQZX7 F9hj37NrtSmz6raLw2zylVIvyM5VzFnB6n12t3sYttqKM4LYSrEPnJBZdZvF aZR9RS+IrTafFVS94+qqrbLuX8BW984IbrkzlMyKLrB7sFVsL4itNHeu3Gyl eseViq24f2F2ZoWtyKwmzAZfTekFsdXus4LYivsXNthKYddqUh+Iq/x85WIr pV4wy1Z3fPXq8/Sur7BV/T0MU2016W4rdq00+kBVWylmVt0umTBV2ZWyrap6 wXdni6dmV4q2mnJWEFvp3L/AHru2rbb1gWRW/aOWXV3JUpVsRS9Yc1YQW9Wf FXxlK9V7Q7l/od5W7/J1bHXfVmRWnqOUXUXbKqoXxFYaO1dZtuIehh5bud1t pXhG8K6tXDKrKlsp71rhKs9xza7YudpnK+64wlbcv6CXWSn3gVG2is6ssNWO mZxdYStsFb3Pjq1m20rxjCC2mmUrXLVjNtuqap/9la/O3P1y1VevPh9f+crR VtV3XKnaKsNXEbZSvn/BxVbKu1bKtqrctSKzYpR95bpz9cRWLtnVq89xxbOC bveHYitsha2wVaWtut2xYVRsdcVXSraiF9SzVfUdV9jKz1Yd94Z277FjK489 djKrOeNmK3au9G31ylfYSv9u9iu2Urh/QcVWymcEK211Zt/hrquqbDV116rb G5tGJbvCVtjK0VYT/+4Nttplq3d7mkqZFbbCVk6jYKsrvnLaZ8dWO+8PxVb9 tsq6N9TRVlv6wEpbde5a0Qd6zERbqeyzYyts5fZ3b7CV7p3s786WbLeV8x47 mdV35/9OTPfPmGmrK77CVvH3MEyzVcfd7I5/9wZbYSvlXStsRR+YaSpHZylk V4o7V6r3MBx95r3yFbbqv5vd2Vb8LUFsNcFW1WcEo201rQ+8ayoXY2Erzewq 0lbT7g/FVthq6t+7cT0jOMFW6nvsU1wVZSp1X2ErbIWtsBW2wlbYqt5W2/rA DFcpG2vaztXks4LRtrrrK2xVa6uPfIWtsBW28j4juMlW2a5S9NU0W6nsXGEr bJV5Nzu28rSVwt1W2Gq+rbpd0eGqTbaK7gWxlYatjnzlbKsjX2GrZ7Y6+/du jmwVcW8otsq11Zmzz1n3hiqeEYy2FZmVp6+cbOV0VhBb5djqyFfYCltdsVXE vaHYKt9W3L/gbatqV7n7ClthK2yFrbDVPFu9+oxx7QOx1S5XYStsha2wFbbC Vtiqd9cKW82zlYqvuvfZsRW2wlbYClthqy22mn5GsNtV2ApbYStsha3m2Srq TnZspXFG0MlW3Z7AVtgKW9XdH4qtsBW20rDVnT12bIWt3Gyl4KtuW13xlYqt 3vkKW82w1ZGvsBW2wlbYClthK2yFrbAVtsJW2ApbYStsha1cbfXEV9jquq2O fIWtsBW2wlbYap+rsJWmrTp3rrAVtsJW2ApbYStsha2wFbbCVtgKW2ErbIWt VKb7WWArbIWtsBW2wlbYCltN8lX3c8BW7FthK2yFrbAVtsJW2ApbKduKc4Kc E8RW2ApbYStsha2wFbbCVtgKW8221StfYStsNcVW3c9AwVZnf2exFbbiXnZs 5WCrI19hKz1bnfWVi60UfNXtKmzla6usXStnW7363sBW2ApbYStsdd1XjrZS 8FX368dW2ApbYStsha2m2iqqF8RWPrbqfu13bXUlz8RW2ApbYSts5WGrV77C VtjKxVfdrxtbYStsha022urIV9gq3lavfPXuc/SdrxRtFb1z5WyrDl91v967 rsJW2ApbYasqWx35Clvp2OpJdvXUVpVnBbts5XpWsMNW3a/V1VZnz8piq7m2 unJvKLbqt9VHvtpsq1e+2mgrlX32abba6qvu11llqzO/X9jKz1ZX71/AVtgK W2Erd1tF71xtslWFr7pf33RbnTlvi62w1ZN7Q6/a6qNeDFthK2y121ZXfDXB Vlm+6n5N1a5StdXZ3ccNtqq6NxRbPbPVR77BVjm2OvJVha2OfIWtuOPqznf1 Bl91vxZlWynusWMrbIWtjn2lYKsjX2ErbKWwcxVtq0nZVYSxun92bNXTByrZ qmqPPdpWV84IYitstdVWr3yFrdhn7zZGpLO6f8ZMV6nvWjnY6sxdMFdtpXBG 0MVWV/bYsRW2euerClvdza622IqzgjN8NWUUMquptsrIrCbaKupuKxVbnT0j iK2wVfc+O7by22efnl1NmYm2mnxGEFvNt9XZM4LY6vo+O7Z67qsntnrlqzM9 ALbCVg6T3Qc671phq3hbZd/JfmSrp3dbYascWx35ytFWr3w1zVbK2ZXiWUF6 wX2j4Cpsha1cbfX03lB3Wx35StlWH/kq21ZHvsJW2Irsat6oZFZXbKW0a4Wt +u5fmGKrp/eGYitsha3mnBUku5oxKraKzqxU9tgn2OrdmW81W2X9vRtsVWur I19tshV3XLHPjq38RsVVGbZS2WPPun/hyFavPh+n3RtabauI+xc22erIV6q2 Uvy7N9hqlq3w1Y7ZbCuHXatXtlLuA93vZHezVbSr1G1V/XdvFG31ylcTbMXO FbZynQpXue9addtKoQ/caKvMe0OxVd49DFm2UrybXSW7evUZ1Z1dVe5cdfeC +EpnJmdW7LHPstWkv3czwVYf+UrBVpv+7o2KrZR7QXdbVWVX+MrLVcp9ILbS s9W0e0Oz/t4NttK/4wpbadhKtRfMshXZlaersjKrK7aKyqyq9tjf7RNMtZXi /QtTbFWxx95hqy33h3IPQ5ytXHeurnw3kl35DLby37VSsZXiGcEpd7Jjq113 XL3y1WRb0QvqZFf4St9VnbaKyqyUbaXgKmw19+/dKNmKexj072FQ7gUn2Koy u8JXuEq9D8RWs+62yro3dIqtptwf6mQrJV+p2kq1FyS7mjFPHTvJVlWZFbby vH+BO9k9bMU9DNiK7IrsClfts1XWnaETbfXqe4i7rerPCEbaqvr+0Op7GDgr OOMO0Wm2wlezXKWeWU2+e0HFVoq7VlPOCGIrH1u98hW2mt0L4qvZ8/SZklnR B2IrbJVlq+l3XE29h0GxF4yyVUd2lb13ha/8XdWdWWGr/sxK1VZuZwQdbPWR rxxt5XIPw52zgk7ZlcvO1cbsCmP5uKojs3LpA7EVZwS777bqspXKHVecFdSy ldLOlaOtonzVbRt3Vyl1gYp9ILbqt9WUM4LTbDX9HgbOCs7fuXLoBTt9tdFY Xa6alFlN7APVbdWxa3XVVllnBFXvtoq2VfU+e7WtOCtIL1idXeErH1OpuWpi Hzhl18p9j33K/QvYSttW0fvsd3au7tpqYi+ofF7QLbua7is3V7lnVvSB/X2g 6xlBp7utqmxVvc/uYCv37GpLL4ivZhor+tnceX+mZVbqfSC28jgjOOH+ham2 mnpW0MVW9ILzusFJxsJVnjvsan3gNFtV77FX379Q2QeetdVHvppiK84Kzty5 muiru9/hGb5yNFbGM6hy1YTMalMfGH1n6B1bqeyxbzwj2Gkr9XsYpp0VpBf0 t5WirxyMlfW63V0VmVnRB3pnVpwR1LHV1nsYnH01yVaRvSC+mmes7Neq6qqp mVVWH4itOCPoYiuVs4JHvsJWHr2gc3a12Vfdzqp4bXefvVtm5bTDzq4VZwS3 2kpl5wpb6dhKKbs68z2TlV1V+6rSWNnOqnwduCovs3KzVfSuVfSdoa577FPO CGIrdq7O+OqurTbvtFdkV06+emqu7p9V3VXKtnrqKvpAnczK9Yygsq0+8pXj PnuErZTvEM3IrrpsVd0Ldu5dbfWVwzx5vnddRWaVn1lhK84IbrNV5v3sarai F5ybXV21VUc3iLH8XRW9vz5ph/2urdT7QDVbVe9aqZ8RfGqr6rOCEfezYyuy q4m+ijBWt2OUJsKrVa6KttWWzCrDVu86BUVbXXGViq3U99izbFV9VpB99t5e kOxKw1ZkWLjKLbOiD/TKrDps5bhrVW2rSfvsR756d3YjaueKXpDsCl/pmara VZMzK8U+EFv57Vo52OojX7HPrpldbesFO7Kr6b7aYqyoZ7XFVRMyK/rAOFup 7Fop7bEr24p9dq+7GMiu5vpqsrEUXHXXVpO7QPrAXlup9IGue+wRtlLfZ//I V262mtALkl3dzyZUfDXFWNHP5Mn7k+2qrZkVfaBmH7hljz3TVuxcaWdXir2g a3al7qsMYzk6K+MZdLiKzEqvD8RWPnvs2MrXVvSCObZS9lV2N6jqK3VjZb3m ja5SslVGZkUfyB77NFuxz+5zFwPZFb5St1b263v6HlS4SrkLdNxhd+gD2bXS yazu2OojX6nss7vcc6WSXWX0gpuzq4puMMJXVcaqclbVa5nmKtfMymmHnT5w 565VlK0m3SE6LbvK6AU777qKtJVrN+jmqwh3df+sEc8bV+W7Sm2HHVthq0pb sXMVayu17Cq7F5ySXSn4SsFY6oOrzv23pGAr+kDutcJWz3y10VZK2dWUXhBf YSxVU111FZkVfeDkzMppj/2urT7y1aSdK2Vfqdhqa3Y13VcYK/ZZPnlfyaz2 ZVbYasYeO7aaYyu1XlAlu3LpBp/6CmNpmQpXzc+ssBX3WlXYip2rOFuRXc3o Bq/aStFXG4yV8cwqXaXeBSpnVhv7wKu2Us6ssBU7V929YMddV5Ozq22+mmas rGf09L1zcpVLZkUf6JVZTdi1emKrj3xFLzizF3xlq83ZlbKvMo3l6qzM5xHh qju/J+quIrOadz5QyVaqmVW0rRz/brOqrZR6wSe2isiu3vkqMrtS2b1y8JWD sypef0dWdcVWV/+9sCWzwlY+tnLrA6tstX3nSuW84PbsyuncYKSvqoylYK3K 14mrntnq7L+rslz1ylbssOu4Clt59IIf/a6oZldKd12pZ1cO3eBdX7kaK9tc na8l6v3IdNX0LpDMClup7lphK21bOWVXT2ylmF3hKybTVGquUuwCn9pKKbNy PB+oYivHzOqpra74arutXHbaN2RX+ApjdZpquqsmZ1bb+8AjWx19Bx/Zanof WGkrfKXTCzpnV/gq/nu+2y3Ko2Kqba5y3LPa0AdetZVCH4itdttqw077lm6w wlcYy8tUuIrMakIf6GirDldF2OojX2Er/ezqbi+ocGYQX+X5aruzXE2V6apJ XaDLDvuEPlDBVdNspX4Xw9HvTXd2pbTT3rV3FZVdKfjqyvfik+9fjKXnKXVX uXaBbpkVfSC2UrPV1OwqoxdUy66m7l1t9dVUZ2U/rypX0QV6Zlb0gXP7QGz1 3FbstOOrSF85GMvVWRXP5ampHF1FZrU3s1KylVJmFWWr7b5y3rvCV3r7V1HG qnKWir86X2u1p1z2q6ryqi5XTduzmpRZYSt/W6l0g9X3XW33lUOGpWCsKHt1 /7wZpsJVdIGumdVVV224LzTDVh/5SslWatmV0t6VcnaFr+Yby3Gi3g9XV7n0 gJszKzVbbcqssm2l5islW1WfGXySXb36bHLKrlT2r7p9hbE8TbXRVY6Zleue FbbCVp22IruKPzeIrzCW8kQ+76qsqtNVLpmVUx/46t/oSpkVtsqx1Ue+UrLV lOzqrq2csysHX7lmWDhL11S4Kmd/3clVkZkVfeAcW6n5asNOu2J25doNVuRX KhkWxsoxlbKrVHfXyazoA7HVXFtNzK6UbTXFV9UdYZaxNjkr6/k9eU+numpq F7h9h13FVt2mmm6rI18d3X+WbSuyK+9ucLOvJjor+1lVmyrTVW5dIJkVmZXC RNtKyVeZtnLeae/cu6rsBrt9dfc7Ut1Yrtaqei64al8XWJ1ZcQ87tnKxleNO +9TsCl8991WlsRStVf3au0x1x1abXfXEVnddpZBZZdsq875QbNVnq67synmn fZOvznw/qPrK0ViV7up+XU/fm6eucsmr6AK9MqsoW23NrLJs5ZpdOe60u2ZX irtXk32lYqxJ02kqXBWbWWV1gZWZFX0gtuq2FdmVhq8isisnX2Es/4l4/sod 4FlXqXWBZFb5O+xRmdWGPjDTVh/5yrkXVMiu3M4MqnWDU3wVZSyc5Weqja5S 7QK3ZVb0gbq2UsquOnfaya76ukF8hbGqPeXQAWa4yqELJLOiD8RWunddbd67 cuwGVXylaKztzop+lh1Z1SZXkVnN3WF3vC9U0VZkV7rZ1VNbbfJVV4aVYawt 1sp6bh2mcnGVwo7V9MyKHfa5tlLKrpx22juyq2xfRXSD+KrXWFOclfl8oky1 3VUVXeCE+6ycMits5W0rp532jOwqqxt89xmFr3Q6wgpjOXmr6jlEvnfZpsJV 9a5yzazYYde01Ue+mtoLup8ZVOgGo3bbnX3laqxuc3W8xsj36W5WtS2viugC 79oqy1VVmZXSPezYyi+7yt5p35pdTe4Gp/uq01hP/dX9M1aYClfFuUoxs7rr qo2ZFbaqtZVLdlW5d6WYXeGrWF9lGEvVWQ6jZConV7l0gWRW7LA72Uopu4ra aZ+cXbl0g26+UjQWzurxlKqppruKzKo+s8JWs2x15KurtnLOrt75Kus+UXzl 5yucVeMpXOW3Y0VmRR84xVaZ2dXR70v3XaLTsqsoX535XO72VXVHWGGsjc5S 9tQdU21y1bQusCqzirIVmVWfrbZlVypnBtV9FZVdOfrKxVhTrVX13J6+x9mu uvrfxCZXkVk9s9XWzMrRVmrZlcreVcdeu2M3ONFX1cZytVbHM+owFXmVdxfo llmxw95vqyhfdey0T9676s6upvlqm7HUzNX9+iPeR7UOMNpVKjtWXfvryplV VB/40fc0tvKz1YbsyvXOq2pfZfWDFRlWlLFUnBVpsO6fV9lUG101sQtUPRvY lVlhqxxbbc2u1Pba330+KfoqK7+64qu735GRvnIwlvt0mwpXzd9fd9uz2t4H dtjqqq9csqs7O+1O3WCEr6JsFe0rxR2sDGPhLD1PPTUVrqp3ldL++oQ9K2zV Y6sJ2ZXTXrtLNxjdDyr7KsNYOKvXU+qmmu4qp8zqjqvIrPqnw1ZXfdVxH0PV 3pVTduXqq8z8CmPNn4xnjqv6dqyyMiuH/XUyK2xVdR+Da3bl3A3iK01jYa08 S3WYyslVZz4PpnaBCncucFfoHFtF+Wp6dpXVDW70lcqOu4uxtlgr+/lFvM8V WZV7XjWtC1S9c4HMaoetyK7ybIWvPDKsKmNNcVbVs4pylVJWtdVVSl1g1f56 V2aFrXJ8pbbTrp5due9e4atYY1U6y8FcHc+iI6eqyKpwFZkVd4X62io7uzr6 fVHIrrL22id0g52+quoIJxir0l7drynDU3dMhavuu8qtC+zOrLgrdKatpmRX bt3gk+wKX/UbS81Zkyb6fbr7+7LVVZ07Vkr761WZ1ZGt2LPSs9VVX23OrvCV p6+UjIWz9Dw1wVSOrnLLrKruXCCz2mmrDdmVYjf46vNpm6+qM6wsY+GsXk9V mwpX+brKLbPavGelZKurvnLKrrbstU/wlXqGlWksnFXnqSemmu6qqh2rd7Z6 4iqVLpDMCltdtdX27ErVV2c+76b5aqKxtlqr4pmqmwpX9exYKd8T2rVnha16 fDUlu+rYa8dXOr5yMNZEa1U+tyfv7xNTKWRVbq6a0gUqZlab+kBnWylmV1P2 2lV2r/CVrrPcvNXxbFxMNclVnTtWDvvrLplVt0Wm2eqqr7qyqw3d4GRfYax5 9up+nVGeemoqXDXHVZX76+xZYavK7IpuEF/d9ZWCsdScNXmmmypjt8rFVZu7 QPasZttK8e8MTsmu8JVmfhVtLJyl6alprlLMqzp3rCZ2gWRWnrY68tX27Apf afhqgrFw1gxPuXaAk1xFZkVm5WSrq766kl0d2apyr736zqvsexkm+Eq9I8x0 FtaqsZSTqTqzKlxFZjVhJtiqM7va0A2esVXl3QxXfDUxw8o0Fs7Ke65dplJx VbStnrpKsQusvMvqzv76R7Yis/Ky1VVfZWdX27vBquxqg69cjLXBW9nPLfJ9 VjOVc17l5iqFLpDMaqetonwVnV1Vd4PdvpqSXzkaq8pZjt6qfC7R72lF/4er 6ALJrPbY6qqvyK7m7F5t8lWGsaqdpWKurtesYqoKV3V1gFGuemWrTFc5dIFk Vthqw167Yjeo6iuljlDNWJ3Omj5Z75eiqXCVTxdIZtU/6raK9FV2dnXXV6/+ u8JXGr6qzLAyjYWzNC1111O4Cle57K9vyqy22WpbN4iv+n2lbCyc1e+pp6a6 46pMUzm6SnXH6pWtKrvAzMyq2xbbbRXpq847GdS6QXzlY6wKZ2GtGkt1mUol q9rkKqXMqtNV2Ep3ov4WzhVb4av3tqr2VdaO+x1fVfeElcba4q3qZxnx/leY ClfNchX769jqqq+uZlcf/a5M2GtX373q8lV2R9iVYXUYa4K3up5Xl6mUOkA1 V026x6qqC8RWe2xFdlWzexWRXZ3xlWtH2Gmsbmcp2av7dTubClf1u0p5f/2V rXCVt62OfNWZXeGrmflVpa8ijaXorG0T9T4qm6rLVWdt9dRV27tAMitsFZld uey1u+9edeZXm4yFs/w8VW0qlaxKKa/CVbhqo62OfJV9ZhBfaftqUoaFs/Qn +r15YirF/g9X1biquwvkntD5tqIbjOsG8dVsY+EsHU89NRWuOu8qdqzIrLBV vK9cu0F8leurqgxL1Vh4q95SEZ5S3atSddXTvOqJq9y7wKj9dWzlM3SD+KrL V53GqnDWNmtVPM+I932LqXBVjquu3mVFF4itKrOrTb4687kU5avoM4QbjFXl rGneqnxmnaba7qrsHjBrx0ols6IL3GmrI19FZVcZ3aDivaJuvlLMsBSMVe0s ZXd1PodIT6mbStlV2XnV9B0rMitsFZFdOXSDmb56aqtpvqrOsKKN1e2spz7r /jm6PVVtquysStFVXWcCp7qKzGqWra766qqt8NUcXzlkWBnGcnWWw6h4qtJU GVlVdQ+Y6Sq1+xYiu0Ayq122OvJVRXbF7tV1X3XuuLtkWJnOwlo6loow1Zas yiGvmrBjdcdWuGqXrdS7wS5fKeRXjhnWRGNhrXpHRXlKOavCVXtcRRc421ZH voqy1aZuEF/p9YSVztpqrYrnGmWqu6668/vu4Cr1uxaydqzoAnVnkq3w1ex+ MMtXrsaqctZEc1U/t05PqWVV2/Iqlx0rMitsddVWCt0g+VWtr6oyLBVjdThL 2V7dzyHSUw6mUs6qcBWuwlZ5vlLPrqb7quMMYWWGpWQsFWdFO6z75632VIep trmq866FrB0rukCN2WIrB1+9+zeM4m57tK9UjFXtq+3Ocp2M92uaqaa6qmt3 nczKYybaqsJXHfcy4CufDEvVWVhL01JPPVVtqoysyslVXXkVrvKZqbY68pVC dqW6246vNHbdq4yFtfo9FWGqCVlVtatUzwRm7VjRBWKrbF+9uq9fpRt09lXn jvvkDKvKWdu9VfV8o34fFE2V0QGq5FWZPWC1q8issJWKr5z6wWnGUnOWirUq veVmse5nEmmop5ZS81R0TjU5q1LpAXEVtsr0lVI/OMlX3TnWBGMpWSvKZd0/ m7unsvepXFzVec9C135VZA94ZKvu73Xl2WorfOXrq4nGynKWo7XcJut922qq yr2qba6KzKy6v9PVZ4utPs0VWzntX2X76sn9V9t8pWwsnKXvqU5TKbiqsgPs dlX1HVZ0gdgqc1x3r9R9FX2OMKsjdDJWtrOwVr+jojzlbqoOV3Xes4Cr5s92 W1V3g9t95ZhhdfaElc7CXLXPOOr3QtVUuMrfVXSB9wdbee1ePfXVu8+MTb5y y7A6jDXZWx3PMPL34Imrrv7bYpKrlHtA9R0rbHV+ttnq01y1lZuv3v23T341 w1jd1lJ3V/czUfOUs6lwlYarsNX5wVZ5u1eTfdWx466UYeEsptJTk0yl2AHi KlwVPRtt9WkUukH1uxmq8ivnDOupr7KMhbP8LfXUU3dMNTGrcneVwo4Vtro+ W231afBVTX7lmGF1GCvTWVjLw1JTTYWrdFxFZlUzm231aRR2r9R99e6zycFX lcZycBbe0rJUhKcqTdWdVeEqXKU+2Op6djXxbgZ8pemrKmNhrVpHRXpK1VTq rnpnK2VXsWOlP9tt9Wk27La7+Qpj9Ttruru6nmPk78MdV9393c/MqiI7wOl5 FTtWHoOtvjv4qtZXWRnWFmMpWEvdXt3PQ8lTVaZyz6pwFa6KGmz1/XHoBjf6 SjXDumusDc6K9lj3z6ngqWmm2uiqjrsW6AJ7Blt9f1x2rxR85dARbjWWs7Wc J/O9VDaVQweIq3BV9WCrH5xNvjpjrCpfqWRYT42l6iys5WWpu56aYqpKV535 d6ZjD3i3C+z+Dp4y2OqHR2X3Cl/1ZViTjYW1NC31xFNPTeXoqjOfOw551d27 Ftix0h5s9fHgq/O2Ouur6I7QwVhPvisrnYW36h0V4amNporqAB1cxe6672Cr 48FXOcZSyLCccqwuZ003V+fzfPq7MM1UE1317jMbV80ebHU8GbtX+CrHV1UZ loKxup3l5K7uZxPtqQ5TqbgqqgOcnFexu64z2Or14Kv+jlAxw1IxlqK1onzW /TNN8pSzqXAVrnIcbPV+Ks8OVvgq4o4GZV+5GSvaWROs5TqR72HE71WlqTL2 qiI7wHeuOvPvTtUe8K6rsFXeYKtzM81XVflVdEdYkWF1GivDWVjLw1IbTOWa VTnnVWRWPYOtzk/lbvuk/Mo1w+o2VpazsJaOoxQ8pWYqXIWrJgy2ujbT8qsI X3V1hJuMlekszFXrqEhLdZnKIauqcpVqD4iregdbXZvq3fatvsrKsCYYq8pZ G7xV+Rwzfg+quz+XrOqMq9TvWeCuBe/BVtcHX+l1hA7GynJWtbWc/NX9XJQ8 VWmqjKwqqgN0cBV5lf9gq3vj6KuIHfezn1tdGdZ2Y6lYa+tkvqcdnso0lWtW hauYM4Ot7o+jr6ryq00Z1hNjVTgLa3la6qmpVHMqXHW/B+SuBZ/BVs/G0VfO HaG6sRychbd0HdXtqTumcsiqqlz17rP5SV5FZuU12Or54CvtDMvRWNXOwls9 hlLxlJKpcBV51YTBVjGDr+ZlWN1dYbezNpir+7lG/G50uCqr/6vuABVcxY7V zPlkK4ZhGIZhGCZu/h9J9mO1 "], "Byte", ColorSpace -> "RGB", Interleaving -> True] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "SlideShowHeader"->{ Cell[580, 22, 136, 2, 0, "SlideShowNavigationBar",ExpressionUUID->"5eff326f-51d4-4f6d-8327-0361233df0b4", CellTags->"SlideShowHeader"], Cell[6718, 149, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"3922b593-907c-45c1-b8b6-90c3373155fd", CellTags->"SlideShowHeader"], Cell[7833, 178, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"bbae2092-465f-4773-aadf-99fe25249024", CellTags->"SlideShowHeader"], Cell[10921, 276, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"ebcb60d5-5693-4d10-99d4-e584bc9261c6", CellTags->"SlideShowHeader"], Cell[12586, 326, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"ee7574c0-942d-4cff-8b11-6c790e220e4e", CellTags->"SlideShowHeader"], Cell[22999, 588, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"df7e4458-7487-4f1e-b4a4-26204037fe03", CellTags->"SlideShowHeader"], Cell[33498, 851, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"41b20b7c-56d4-42a6-9769-e273b7128683", CellTags->"SlideShowHeader"], Cell[37975, 965, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"8e4417ad-25d8-4c91-ac5f-4d0c7d9bbafe", CellTags->"SlideShowHeader"], Cell[44648, 1152, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f9e0910a-9bdc-4c48-b953-0e417352c41c", CellTags->"SlideShowHeader"], Cell[49470, 1268, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f55ab41d-f06e-47d4-bb7d-09f40c09f5bb", CellTags->"SlideShowHeader"], Cell[51798, 1332, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f06b9537-dba1-4696-9b6e-d81f42d56e54", CellTags->"SlideShowHeader"], Cell[66583, 1671, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"b077eaae-3779-43f0-b5c3-ae7aa200119e", CellTags->"SlideShowHeader"], Cell[71983, 1818, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"5d4ecdf1-d0c9-4f01-95c3-69baa157f047", CellTags->"SlideShowHeader"], Cell[77795, 1978, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"64ab036d-704e-470b-8e0b-260454e17c58", CellTags->"SlideShowHeader"], Cell[89210, 2295, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"1b7fb980-2970-4a01-8763-95b71c00b225", CellTags->"SlideShowHeader"], Cell[103502, 2663, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"5ae848f1-5143-428c-9a80-27297b7fefdc", CellTags->"SlideShowHeader"], Cell[127838, 3271, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"a9a58c76-b334-4854-9211-66f1d6b1d1b5", CellTags->"SlideShowHeader"], Cell[144295, 3745, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"d195002d-48c8-46fb-9f49-6141b8e1714c", CellTags->"SlideShowHeader"], Cell[156017, 4076, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"8ba61e47-1b68-403a-b693-5dcd5fe13a94", CellTags->"SlideShowHeader"]} } *) (*CellTagsIndex CellTagsIndex->{ {"SlideShowHeader", 211197, 5215} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 136, 2, 0, "SlideShowNavigationBar",ExpressionUUID->"5eff326f-51d4-4f6d-8327-0361233df0b4", CellTags->"SlideShowHeader"], Cell[719, 26, 448, 7, 264, "Title",ExpressionUUID->"4a349bd0-044f-4b71-9e5d-6f85b428ef05"], Cell[1170, 35, 626, 9, 45, "Subtitle",ExpressionUUID->"8bf38818-9136-4d63-b800-a95800ba3bba"], Cell[1799, 46, 4882, 98, 491, "Text",ExpressionUUID->"e5654c3b-261a-4278-9d0c-d50835b563a4"] }, Open ]], Cell[CellGroupData[{ Cell[6718, 149, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"3922b593-907c-45c1-b8b6-90c3373155fd", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[6865, 155, 271, 4, 130, "Section",ExpressionUUID->"f29c9c36-3588-423d-85b2-02bd9ce04aa0"], Cell[7139, 161, 645, 11, 131, "Text",ExpressionUUID->"813e3938-12dd-4af2-a679-9c2667c326cc"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[7833, 178, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"bbae2092-465f-4773-aadf-99fe25249024", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[7980, 184, 215, 4, 130, "Section",ExpressionUUID->"05ebc178-818b-46d0-9872-b3f2563f1623"], Cell[8198, 190, 2674, 80, 528, "ExampleText",ExpressionUUID->"adef5b4f-877f-408c-829b-23c2fe7a0616"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[10921, 276, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"ebcb60d5-5693-4d10-99d4-e584bc9261c6", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[11068, 282, 263, 4, 130, "Section",ExpressionUUID->"79f86cab-30f5-4b1b-a74c-c20775d486cf"], Cell[11334, 288, 142, 3, 47, "Text",ExpressionUUID->"ab970352-1b99-4790-befb-6321d156e1ae"], Cell[11479, 293, 1058, 27, 136, "ExampleText",ExpressionUUID->"2c9d4cc1-3b38-48f2-a51b-06d70b0420ec"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[12586, 326, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"ee7574c0-942d-4cff-8b11-6c790e220e4e", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[12733, 332, 261, 4, 130, "Section",ExpressionUUID->"36df171b-7fa5-40e1-bbca-4662281355fb"], Cell[12997, 338, 142, 3, 47, "Text",ExpressionUUID->"a6af0c8b-2fbe-4a18-98d4-754ab7bf8ac2"], Cell[13142, 343, 1144, 27, 136, "ExampleText",ExpressionUUID->"8b3e6404-1b4d-4b60-95a6-0e20984082e2"], Cell[14289, 372, 189, 3, 83, "Input",ExpressionUUID->"c6591fdd-8cd3-4ec4-9cbc-fafbc0e05cc7"], Cell[14481, 377, 1553, 36, 73, "ExampleText",ExpressionUUID->"2880c75c-9387-4fc5-abcb-18e3426c54ab"], Cell[16037, 415, 1691, 41, 73, "ExampleText",ExpressionUUID->"4c3870e9-939f-4498-9074-b903ddc667bd"], Cell[17731, 458, 1586, 38, 84, "ExampleText",ExpressionUUID->"704856e4-d5fd-4380-a016-3a34ace01a61"], Cell[19320, 498, 1752, 40, 73, "ExampleText",ExpressionUUID->"5fc0b16f-bd03-42a2-b039-6873cb3ab54f"], Cell[21075, 540, 1875, 42, 78, "ExampleText",ExpressionUUID->"67ab7c86-2719-47cb-b4fd-5ff3480310e7"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[22999, 588, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"df7e4458-7487-4f1e-b4a4-26204037fe03", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[23146, 594, 237, 4, 130, "Section",ExpressionUUID->"272e4d0f-a513-41c3-b535-444226f39149"], Cell[23386, 600, 1392, 33, 186, "ExampleText",ExpressionUUID->"d9d95070-4e6a-4bd7-a980-daf565ee92ca"], Cell[24781, 635, 191, 3, 83, "Input",ExpressionUUID->"fe38f930-9ef4-479d-9779-658d3c2135ce"], Cell[24975, 640, 1553, 36, 73, "ExampleText",ExpressionUUID->"5d73aafa-2eef-4501-80fe-cc454bf19374"], Cell[26531, 678, 1691, 41, 73, "ExampleText",ExpressionUUID->"abb40468-a032-49e7-9b0d-77a20a7e785c"], Cell[28225, 721, 1588, 38, 84, "ExampleText",ExpressionUUID->"425e17ff-0c3d-46ce-8638-b34a60778e79"], Cell[29816, 761, 1752, 40, 73, "ExampleText",ExpressionUUID->"3e18d517-75bd-405c-9658-a96bd4ce0739"], Cell[31571, 803, 1878, 42, 78, "ExampleText",ExpressionUUID->"1e8e06d5-4c5d-4583-9c05-0505a6880fac"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[33498, 851, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"41b20b7c-56d4-42a6-9769-e273b7128683", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[33645, 857, 325, 5, 130, "Section",ExpressionUUID->"de90c945-eb48-4a78-b3f3-2e0ece70493a"], Cell[33973, 864, 1740, 41, 137, "ExampleText",ExpressionUUID->"53fc17af-5f2b-4eab-83b6-31ba13d1b6cb"], Cell[35716, 907, 989, 27, 126, "Program",ExpressionUUID->"ce8ed7c6-15e2-4a8e-8c11-b2b71e826509"], Cell[36708, 936, 425, 6, 33, "ExampleText",ExpressionUUID->"438077e5-d6eb-4bcc-8306-2659fc58322b"], Cell[37136, 944, 389, 6, 33, "ExampleText",ExpressionUUID->"cb7f8c9e-7cd7-4a29-b803-1b974bcf9305"], Cell[37528, 952, 398, 7, 33, "ExampleText",ExpressionUUID->"accc795b-eb3e-40fc-94cc-34227d6e4c1c"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[37975, 965, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"8e4417ad-25d8-4c91-ac5f-4d0c7d9bbafe", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[38122, 971, 325, 5, 130, "Section",ExpressionUUID->"686cb444-9734-4620-8b79-8f64f0033a2a"], Cell[38450, 978, 1738, 41, 137, "ExampleText",ExpressionUUID->"19025102-71b4-4d71-becd-1b162d719bf1"], Cell[40191, 1021, 989, 27, 126, "Program",ExpressionUUID->"fec1fd35-3fab-4e85-9905-34ce7826e6f1"], Cell[41183, 1050, 1146, 28, 33, "ExampleText",ExpressionUUID->"880602fa-917f-4c95-b2be-b96f2897de9f", CellID->2129171342], Cell[CellGroupData[{ Cell[42354, 1082, 715, 19, 49, "Input",ExpressionUUID->"d36243d5-a495-4a91-8dee-04dcb25dd1aa", CellID->1119638293], Cell[43072, 1103, 331, 7, 49, "Output",ExpressionUUID->"4cb65f49-917d-441f-b6d4-d36f7705f6f2"] }, Open ]], Cell[43418, 1113, 317, 4, 33, "ExampleText",ExpressionUUID->"3bbb31c0-4309-41ba-9306-7cb9584ea290", CellID->243664146], Cell[43738, 1119, 861, 27, 83, "Input",ExpressionUUID->"6d5acf2c-eccd-4d85-8a96-4f0b385ea1bc", CellID->1277625649] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[44648, 1152, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f9e0910a-9bdc-4c48-b953-0e417352c41c", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[44795, 1158, 267, 4, 130, "Section",ExpressionUUID->"dd39d731-ff68-4566-9a47-7702b71b2c3b"], Cell[45065, 1164, 4356, 98, 697, "Input",ExpressionUUID->"ae288b35-7b69-48dc-82f7-64e27f2b4f0b"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[49470, 1268, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f55ab41d-f06e-47d4-bb7d-09f40c09f5bb", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[49617, 1274, 322, 5, 130, "Section",ExpressionUUID->"415826ce-7a70-4691-978b-63b7e4fe7ad1"], Cell[49942, 1281, 1807, 45, 239, "ExampleText",ExpressionUUID->"fb316789-fc66-4e96-9401-279509c93598"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[51798, 1332, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"f06b9537-dba1-4696-9b6e-d81f42d56e54", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[51945, 1338, 322, 5, 130, "Section",ExpressionUUID->"53ee100c-268f-4da1-a3a9-e2257c6c02e4"], Cell[52270, 1345, 1803, 45, 239, "ExampleText",ExpressionUUID->"d381d582-9e86-41c7-b302-642b83b2496a"], Cell[54076, 1392, 147, 3, 83, "Input",ExpressionUUID->"0e8e3c28-fc21-4047-8a9e-aa04ea55a294"], Cell[54226, 1397, 12308, 268, 319, "3ColumnTableMod",ExpressionUUID->"65a3e944-9a3e-437e-b7c2-084536e6a937", CellID->38885743] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[66583, 1671, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"b077eaae-3779-43f0-b5c3-ae7aa200119e", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[66730, 1677, 322, 5, 130, "Section",ExpressionUUID->"3c94c2dd-3776-4a8f-9568-bb26fe07f078"], Cell[67055, 1684, 1802, 45, 239, "ExampleText",ExpressionUUID->"e1bdcd75-7213-4257-952c-f9b97f94ac27"], Cell[68860, 1731, 3074, 81, 201, "ExampleText",ExpressionUUID->"f25a1070-42d8-47f9-8fc9-4d3a60ef6685"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[71983, 1818, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"5d4ecdf1-d0c9-4f01-95c3-69baa157f047", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[72130, 1824, 224, 4, 130, "Section",ExpressionUUID->"f9adb6b5-b64e-4ef5-bbcc-1d93f6937451"], Cell[72357, 1830, 212, 2, 56, "Text",ExpressionUUID->"2a99140a-abf9-4c37-bfa9-4cf7cbb5ddac"], Cell[72572, 1834, 379, 5, 41, "ExampleText",ExpressionUUID->"10522e71-68d5-4e7b-93bc-3412e67ff1dc"], Cell[72954, 1841, 1220, 37, 159, "ExampleText",ExpressionUUID->"9b8ab1f0-972f-441a-a3a9-19296aab869e"], Cell[74177, 1880, 824, 20, 41, "ExampleText",ExpressionUUID->"cbc044c5-5d1b-4293-a2a3-32c962b8c7cf"], Cell[75004, 1902, 724, 15, 73, "ExampleText",ExpressionUUID->"b84ca22d-9c1d-410a-844a-66df6eebc127"], Cell[75731, 1919, 1121, 30, 122, "ExampleText",ExpressionUUID->"36f8f463-2644-43b0-a9f7-612524fbdaa9"], Cell[76855, 1951, 891, 21, 105, "ExampleText",ExpressionUUID->"6ae3997e-49c4-4617-a23f-16ea1503fb26"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[77795, 1978, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"64ab036d-704e-470b-8e0b-260454e17c58", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[77942, 1984, 236, 4, 130, "Section",ExpressionUUID->"c0df8f4f-80d5-4a9a-a8ea-8b08aac2cc77"], Cell[78181, 1990, 235, 4, 46, "Text",ExpressionUUID->"a124a770-d726-4550-8dc6-5bcda3584053"], Cell[78419, 1996, 1014, 26, 49, "Input",ExpressionUUID->"2a72670b-ceea-476e-aba0-38d50d7f6b0f"], Cell[79436, 2024, 274, 5, 46, "Text",ExpressionUUID->"b9718646-a949-4b94-907c-49a4a036cc2c"], Cell[79713, 2031, 1418, 34, 116, "Input",ExpressionUUID->"513d2391-22dc-49eb-aa42-42063ce8bc30"], Cell[81134, 2067, 236, 4, 46, "Text",ExpressionUUID->"8cd06424-9b73-4981-8404-f675de82c814"], Cell[81373, 2073, 1762, 55, 150, "Input",ExpressionUUID->"565d92cf-960f-4df2-9950-125983561c9d"], Cell[83138, 2130, 245, 4, 46, "Text",ExpressionUUID->"c441b192-bced-4967-8f73-ba20d4f7fe0d"], Cell[83386, 2136, 971, 23, 49, "Input",ExpressionUUID->"d566d5ea-dba1-4f8e-8fbb-d5353c387071"], Cell[84360, 2161, 328, 8, 46, "Text",ExpressionUUID->"6b45e897-df5b-4742-bc7a-c3efc405839d"], Cell[84691, 2171, 1531, 35, 116, "Input",ExpressionUUID->"2d0cdd8f-6c3f-4cea-96e9-f99ecb84625e"], Cell[86225, 2208, 238, 4, 46, "Text",ExpressionUUID->"2db3dfa5-0c74-4c86-abd9-bc932f5b3b8c"], Cell[86466, 2214, 1842, 49, 150, "Input",ExpressionUUID->"6c0cf750-1eb0-4181-8fc0-4c1ac03f1be3"], Cell[88311, 2265, 230, 4, 46, "Text",ExpressionUUID->"0cfb2b07-5e4d-4d75-b89f-6275b0907596"], Cell[88544, 2271, 617, 18, 49, "Input",ExpressionUUID->"cba5e95d-87f8-4a7e-8ee4-623d409c2b48"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[89210, 2295, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"1b7fb980-2970-4a01-8763-95b71c00b225", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[89357, 2301, 295, 4, 130, "Section",ExpressionUUID->"e8dfc5c4-8c14-4874-8a5a-afdea66d6000"], Cell[89655, 2307, 1448, 31, 131, "ExampleText",ExpressionUUID->"a1b3a5cd-952b-4269-ab40-2c88a28c3afd"], Cell[91106, 2340, 1947, 47, 166, "ExampleText",ExpressionUUID->"7e643ff8-8fb5-49dc-8e09-62772696422c"], Cell[93056, 2389, 2063, 51, 166, "ExampleText",ExpressionUUID->"cc4aa7ee-5490-4bd8-a0d9-0f7709aa77bb"], Cell[95122, 2442, 2102, 51, 166, "ExampleText",ExpressionUUID->"38bbb15d-0823-4712-b111-cba3fb4edbc7"], Cell[97227, 2495, 1897, 48, 166, "ExampleText",ExpressionUUID->"877b30d1-c4e8-429d-a18f-edb057b2dfc5"], Cell[99127, 2545, 1670, 43, 166, "ExampleText",ExpressionUUID->"963c3ef0-809b-4e55-9d8c-1bea127c7e0f"], Cell[100800, 2590, 2653, 67, 279, "ExampleText",ExpressionUUID->"4cf3bfe2-a8e8-49b5-a408-61d725e8124d"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[103502, 2663, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"5ae848f1-5143-428c-9a80-27297b7fefdc", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[103649, 2669, 423, 6, 130, "Section",ExpressionUUID->"7fd87a2d-d8e2-40fa-a78a-e43e38e6d7f6"], Cell[CellGroupData[{ Cell[104097, 2679, 3123, 71, 89, "Input",ExpressionUUID->"e87df780-834c-4420-908a-9e8afc780091", CellID->1890621904], Cell[107223, 2752, 3881, 63, 352, "Output",ExpressionUUID->"7bdc29fb-dcc6-48b3-b49f-d9fbc6789a36", CellID->1325057340] }, Open ]], Cell[111119, 2818, 3962, 107, 104, "ExampleText",ExpressionUUID->"f85dbd5f-67b8-47a0-983a-3964148cf03d", CellID->992885313], Cell[115084, 2927, 1017, 26, 83, "Input",ExpressionUUID->"57bd1865-5fc4-4021-a421-a69d886a98c6", CellID->1149211461], Cell[116104, 2955, 1564, 36, 52, "ExampleText",ExpressionUUID->"9421a75f-2ebf-4e61-bc43-b81ead756b97", CellID->329103909], Cell[117671, 2993, 860, 23, 83, "Input",ExpressionUUID->"42ac3923-fc09-4c5a-9357-299f1db5d268", CellID->1479007538], Cell[118534, 3018, 1027, 26, 50, "ExampleText",ExpressionUUID->"f1e8684c-de05-46bd-b507-97c62c928fdf", CellID->556477141], Cell[119564, 3046, 702, 19, 49, "Input",ExpressionUUID->"a7a90623-a1f4-4192-9e9b-dd55ba9aa39b", CellID->420026102], Cell[120269, 3067, 1208, 33, 50, "ExampleText",ExpressionUUID->"1783d7ea-bd27-4eec-8433-031298af5afb", CellID->599948625], Cell[121480, 3102, 1216, 32, 83, "Input",ExpressionUUID->"22c5a2ce-3aa7-4969-8c60-1210ddb719dc", CellID->900817710], Cell[122699, 3136, 281, 4, 33, "ExampleText",ExpressionUUID->"feb31fc0-7acf-4b88-a0a4-87a81e493381", CellID->283540620], Cell[122983, 3142, 590, 15, 49, "Input",ExpressionUUID->"05a4de04-6f95-4913-b327-67eade56e0a7", CellID->200987647], Cell[123576, 3159, 1174, 32, 36, "ExampleText",ExpressionUUID->"8d6352ca-4afc-4c76-a93e-f2070f1e7bb6", CellID->1699129541], Cell[124753, 3193, 687, 19, 83, "Input",ExpressionUUID->"abb98fb7-7255-4656-bfb4-d3cde4964e98", CellID->769371120], Cell[125443, 3214, 321, 5, 33, "ExampleText",ExpressionUUID->"234ac34b-b4d2-4b8b-8708-4b99247eddd6", CellID->820767203], Cell[125767, 3221, 1041, 19, 83, "Input",ExpressionUUID->"e9ef34f1-0c10-4c65-a617-ace18524fd5c", CellID->861698260], Cell[126811, 3242, 329, 5, 33, "ExampleText",ExpressionUUID->"bc4eadfd-a7df-4695-ae15-fd522790c7fb", CellID->2080424099], Cell[127143, 3249, 646, 16, 49, "Input",ExpressionUUID->"30687d7a-58ec-4d88-99a8-31b64f7ed868", CellID->359091439] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[127838, 3271, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"a9a58c76-b334-4854-9211-66f1d6b1d1b5", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[127985, 3277, 274, 4, 130, "Section",ExpressionUUID->"c68a6ef5-ace7-4914-8490-62f7695e63bd"], Cell[128262, 3283, 339, 8, 33, "ExampleText",ExpressionUUID->"19abd9d7-b92b-415c-9f0f-4ec7c9d86953", CellID->543752973], Cell[128604, 3293, 566, 14, 49, "Input",ExpressionUUID->"e8536c29-bf08-4bac-9455-1483159abd65", CellID->1634327573], Cell[129173, 3309, 292, 5, 33, "ExampleText",ExpressionUUID->"b9eac8d3-ebe2-4d0c-8c9e-5998e0347600", CellID->357923547], Cell[129468, 3316, 510, 13, 49, "Input",ExpressionUUID->"7db14133-c6a1-4be5-8eb9-4a15a182568e", CellID->263027454], Cell[129981, 3331, 284, 5, 33, "ExampleText",ExpressionUUID->"ac69f74d-1669-4570-bcda-0bf788269478", CellID->1043491302], Cell[130268, 3338, 787, 22, 116, "Input",ExpressionUUID->"2da09f80-ff96-406e-a82c-e155f7301110", CellID->314745724], Cell[131058, 3362, 765, 19, 39, "ExampleText",ExpressionUUID->"4a86e80e-0e78-4257-98ec-067b6fff3b93", CellID->270173374], Cell[131826, 3383, 699, 18, 83, "Input",ExpressionUUID->"b9964322-17f7-41f5-b8c2-4d259ebcdcf1", CellID->884617398], Cell[132528, 3403, 1308, 40, 42, "ExampleText",ExpressionUUID->"353e9aab-7c25-479d-a5bd-42d9e81ebcc6", CellID->129991322], Cell[133839, 3445, 1210, 37, 116, "Input",ExpressionUUID->"5749f582-7ae8-41c5-879a-ba33af26b701", CellID->400780637], Cell[135052, 3484, 271, 5, 33, "ExampleText",ExpressionUUID->"3f40c482-ca78-4d0b-9e16-b03d2396e6f1", CellID->97834819], Cell[135326, 3491, 437, 12, 49, "Input",ExpressionUUID->"d2e6112e-ca99-4e15-8498-249ba1fa5cd3", CellID->506713140], Cell[135766, 3505, 319, 7, 33, "ExampleText",ExpressionUUID->"829bd835-0f98-4767-be8a-83458ab82214", CellID->424469380], Cell[136088, 3514, 1083, 25, 83, "Input",ExpressionUUID->"2499f35f-e1d8-4e5f-90a4-d9fc30ad6a99", CellID->2037223834], Cell[137174, 3541, 3095, 90, 92, "ExampleText",ExpressionUUID->"c5b11cec-61f8-4db1-9750-17abe7c63180", CellID->1906644373], Cell[140272, 3633, 1843, 51, 183, "Input",ExpressionUUID->"891271e6-456b-4c98-9b5c-d41d088a47d4", CellID->1468817004], Cell[142118, 3686, 339, 5, 33, "ExampleText",ExpressionUUID->"6a084e8d-6019-4a95-9140-0d2b809c2d7d", CellID->1561596498], Cell[142460, 3693, 821, 18, 116, "Input",ExpressionUUID->"7e64a6e4-ce4d-4ba3-b0e8-5a031502185b", CellID->1185051279], Cell[143284, 3713, 270, 5, 33, "ExampleText",ExpressionUUID->"39d7861c-6753-4de6-84e5-e01fc313b984", CellID->1111698889], Cell[143557, 3720, 689, 19, 83, "Input",ExpressionUUID->"2e8a9723-3aa3-4024-82d3-83671873d763", CellID->990337918] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[144295, 3745, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"d195002d-48c8-46fb-9f49-6141b8e1714c", CellTags->"SlideShowHeader"], Cell[CellGroupData[{ Cell[144442, 3751, 259, 4, 130, "Section",ExpressionUUID->"12806e34-d900-495f-a747-ced6d23dfd91"], Cell[144704, 3757, 517, 10, 57, "ExampleText",ExpressionUUID->"8fd7bd05-6836-4696-ab23-71637c5117ce", CellID->1669108624], Cell[145224, 3769, 214, 5, 49, "Input",ExpressionUUID->"b5aef141-f3a5-4bc6-ad97-ecf786673acc", CellID->234321168], Cell[145441, 3776, 264, 5, 33, "ExampleText",ExpressionUUID->"9b64b4ed-1eb0-40fd-9a60-9f9111ce275a", CellID->265328868], Cell[145708, 3783, 846, 19, 116, "Input",ExpressionUUID->"d5d8be02-e3da-4418-ad35-a16bf8071709", CellID->765711366], Cell[146557, 3804, 383, 8, 33, "ExampleText",ExpressionUUID->"6c6b1287-84cf-4292-8ea6-7b86e3420860", CellID->795455453], Cell[146943, 3814, 333, 7, 49, "Input",ExpressionUUID->"4e8a3cd2-710e-45ad-a0ac-1fd5a45c11fd", CellID->2083714562], Cell[147279, 3823, 1524, 41, 61, "ExampleText",ExpressionUUID->"eba182f1-4675-40ac-ac07-db5be29c48a8", CellID->1328429387], Cell[148806, 3866, 388, 10, 49, "Input",ExpressionUUID->"cea7f3e3-1ab8-4aac-b2b8-41705892eb23", CellID->175800125], Cell[149197, 3878, 402, 9, 33, "ExampleText",ExpressionUUID->"e70a9c10-396e-4374-bd08-d3918e2f2b85", CellID->1908454568], Cell[149602, 3889, 1081, 31, 116, "Input",ExpressionUUID->"200dd3fd-8ded-433f-b926-3c9514eef99e", CellID->782376714], Cell[150686, 3922, 714, 19, 33, "ExampleText",ExpressionUUID->"ae42e2e5-4eb4-4145-b777-17211c82a6cb", CellID->562571657], Cell[151403, 3943, 661, 18, 49, "Input",ExpressionUUID->"4b26fd33-af5e-422a-a355-131043a79d28", CellID->134405406], Cell[152067, 3963, 558, 15, 33, "ExampleText",ExpressionUUID->"b6f9cf65-a9d2-4cf0-84fe-1802c76ff0e8", CellID->821804060], Cell[152628, 3980, 442, 10, 49, "Input",ExpressionUUID->"02b99628-5ae5-4154-bb2d-7a62a5686e6c", CellID->1037468261], Cell[153073, 3992, 274, 5, 33, "ExampleText",ExpressionUUID->"af7451d1-c7a5-4495-a106-224f83544255", CellID->1187943859], Cell[153350, 3999, 989, 25, 116, "Input",ExpressionUUID->"65460ecb-fcb9-4fc9-9ab2-2cdadba6f807", CellID->1104502552], Cell[154342, 4026, 279, 5, 33, "ExampleText",ExpressionUUID->"6bd8d340-49ab-4ffc-ac3e-6bd8e1f30549", CellID->1334339418], Cell[154624, 4033, 250, 5, 49, "Input",ExpressionUUID->"cdb8af31-7e05-4f59-889e-ccc6ce4df881", CellID->1250950348], Cell[154877, 4040, 254, 5, 33, "ExampleText",ExpressionUUID->"00e8c8a0-3403-4287-a19f-7d9edb8adc0b", CellID->611909936], Cell[155134, 4047, 834, 23, 116, "Input",ExpressionUUID->"7f3f40f2-72f5-45db-99b4-da278cc13ba6", CellID->1356735732] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[156017, 4076, 122, 2, 1, "SlideShowNavigationBar",ExpressionUUID->"8ba61e47-1b68-403a-b693-5dcd5fe13a94", CellTags->"SlideShowHeader"], Cell[156142, 4080, 154, 3, 130, "Section",ExpressionUUID->"c3c32729-6c0a-46a7-8702-c4c9ef141b32"] }, Open ]] } ] *)