{"id":2386,"date":"2019-12-06T01:59:28","date_gmt":"2019-12-05T16:59:28","guid":{"rendered":"https:\/\/julialang.kr\/?p=2386"},"modified":"2019-12-06T15:41:58","modified_gmt":"2019-12-06T06:41:58","slug":"tip-gurobi-optimizer-%ec%84%a4%ec%b9%98-%eb%b0%8f-%eb%9d%bc%ec%9d%b4%ec%84%a0%ec%8a%a4","status":"publish","type":"post","link":"https:\/\/julialang.kr\/?p=2386","title":{"rendered":"[Tip] Gurobi optimizer \uc124\uce58 \ubc0f Academic \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c \uc0dd\uc131"},"content":{"rendered":"\n<p>gurobi\uc758 \uac00\uaca9\uc774 1user\ub2f9 $10,000\uc774\ub2e4 \ubcf4\ub2c8 \ud559\uc0dd \uc2e0\ubd84\uc73c\ub85c \uc5bb\uc744 \uc218 \uc788\ub294 Academic \ub77c\uc774\uc120\uc2a4\uac00 \uc544\ub2c8\uba74 \uc5c4\ub450\uac00 \ub098\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p>\ube44\uc988\ub2c8\uc2a4 trial 30\uc77c \ub77c\uc774\uc120\uc2a4 \uc2e0\uccad\ub3c4 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9b0\ub2e4.<\/p>\n\n\n\n<p>\uc544\uce74\ub370\ubbf8 \ub77c\uc774\uc120\uc2a4\ub294 \ud559\uad50 \ub2e4\ub2c8\ub294 \uc8fc\ubcc0 \uc9c0\uc778\uc774 \uc788\ub294 \uacbd\uc6b0 \uc27d\uac8c \uc5bb\uc744 \uc218 \uc788\ub2e4. \uc544\uc8fc \uc27d\uac8c <\/p>\n\n\n\n<p>\ub098\ub3c4 \uc5b4\ucc0c\uc5b4\ucc0c \uc544\uce74\ub370\ubbf8 \ub77c\uc774\uc2a4\uc120\ub97c \ubc1c\uae09 \ubc1b\uc744 \uc218 \uc788\ub294 \ud0a4( XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  )\ub97c \uc5bb\uac8c \ub418\uc5c8\ub294\ub370 \uc2e4\uc81c \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c \ubc1c\uae09\uc740 \uc774 \ud0a4\ub97c \uae30\ubc18\uc73c\ub85c \uc5bb\uc744 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>\ub0b4\uac00 \ub77c\uc774\uc120\uc2a4\ub97c \uc2e0\uccad\ud55c \ud559\uad50 \ub3c4\uba54\uc778\uc5d0 \uc788\uace0 \uc608\ub97c \ub4e4\uc5b4 linux \ud130\ubbf8\ub110\uc5d0 \uc811\uadfc \ud560 \uc218 \uc788\ub2e4\uba74 gurobi \uc0ac\uc774\ud2b8\uc5d0\uc11c gurobi \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c\uc744 \ubc1b \uc744 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>$  grbgetkey XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX <\/p>\n\n\n\n<p>\uc5ec\uae30\uc11c \uc7a0\uc2dc &#8230;.<\/p>\n\n\n\n<p>gurobi \uc0ac\uc774\ud2b8\uc5d0\uc11c \ub0b4\uac8c \ubc1c\uae09\ub41c \ub77c\uc774\uc120\uc2a4 \uc815\ubcf4\ub97c \ubcf4\uba74 \ud604\uc7ac(2019.12.05) \uae30\uc900 gurobi 9.0 \ubc84\uc804\uc73c\ub85c \ubc1c\uae09\ub41c \uac83\uc73c\ub85c \ub418\uc5b4 \uc788\uc73c\ub098 <\/p>\n\n\n\n<p>\uc2e4\uc81c \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c(gurobi.lic) \ub0b4\uc6a9\uc744 \ubcf4\uba74 \ubc84\uc804 7\uc5d0 \ub300\ud574\uc11c \ubc1c\uae09 \ub41c\uac83\uc744 \uc54c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>\ub098\ub294 9.0 \ubc84\uc804\uc73c\ub85c \ub0b4\ub824 \ubc1b\uace0 gurobi\ub97c \uad6c\ub3d9 \ud588\ub294\ub370 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ub77c\uc774\uc120\uc2a4\ub77c\uace0 \ub098\uc654\ub2e4. \ubc84\uc804 7.5.x \ubc84\uc804\uc744 \ubc1b\uc544 \uc124\uce58 \ud558\uace0 \uad6c\ub3d9 \ud588\ub354\ub2c8 \uc798 \ub3d9\uc791 \ud588\ub2e4.<\/p>\n\n\n\n<p>\uc5ec\uae30\uc11c\ub294 linux ubutu 18.04, gurobi 7.5.x \ub97c \uae30\uc900\uc73c\ub85c \uc124\uba85\ud55c\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/packages.gurobi.com\/7.5\/gurobi7.5.2_linux64.tar.gz\">gurobi optimzer 7.5.2<\/a>  \uc744 \ubc1b\ub294\ub2e4<br>(\ub610\ub294 <a href=\"http:\/\/gofile.me\/4Cu9Z\/D2vOdYfyq\">\uc9c1\uc811 \ub2e4\uc6b4\ub85c\ub4dc<\/a>)<\/p>\n\n\n\n<p>\uc544\ub798 \ucc98\ub7fc \uc124\uce58 \ud55c\ub2e4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ wget https:\/\/packages.gurobi.com\/7.5\/gurobi7.5.2_linux64.tar.gz\n$ tar zxvf gurobi7.5.2_linux64.tar.gz\n$ ls -al gurobi752\/linux64\ndrwxr-xr-x 10 shpark shpark   4096 Dec  5 17:28 .\ndrwxr-xr-x  3 shpark shpark   4096 Nov 11  2017 ..\ndrwxr-xr-x  2 shpark shpark   4096 Dec  5 21:42 bin\ndrwxr-xr-x  7 shpark shpark   4096 Nov 11  2017 docs\n-rwxr-xr-x  1 shpark shpark 273127 Nov 11  2017 EULA.pdf\ndrwxr-xr-x 12 shpark shpark   4096 Nov 11  2017 examples\ndrwxr-xr-x  3 shpark shpark   4096 Nov 11  2017 include\ndrwxr-xr-x  6 shpark shpark   4096 Nov 11  2017 lib<\/code><\/pre>\n\n\n\n<p>\uadf8\ub9ac\uace0 .bashrc \ud30c\uc77c\uc5d0 \uc544\ub798 \uacbd\ub85c\ub4e4\uc744 \uc124\uc815 \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ vi .bashrc\nexport GUROBI_HOME=\/home\/shpark\/gurobi752\/linux64\nexport GRB_LICENSE_FILE=$GUROBI_HOME\/gurobi.lic\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GUROBI_HOME\/lib\nexport PATH=$PATH:$GUROBI_HOME\/bin\n$ source .bashrc<\/code><\/pre>\n\n\n\n<p>\ub0b4\uac00 \ud559\uad50 \ub3c4\uba54\uc778\uc5d0 \uc788\ub294 \ub124\ud2b8\uc6cc\ud06c\uc5d0 \ubb3c\ub824 \uc788\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0   grbgetkey XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  \uba85\ub839\uc73c\ub85c \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c\uc744 \ubc1c\uae09 \ubc1b\uc9c0 \ubabb\ud55c\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud559\uad50 \ub3c4\uba54\uc778\uc774 ccc.edu \uc774\uace0 \ub0b4\uac00 \uc0ac\uc6a9\ud558\ub294 \ub3c4\uba54\uc778\uc774 ddd.net \uc774\ub77c\uba74 \ud559\uad50 \ub3c4\uba54\uc778\uc774 \uc544\ub2c8\ub77c\uace0 \ub098\uc624\uace0 \ub77c\uc774\uc120\uc2a4 \ubc1c\uae09\uc774 \ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub7f0 \uacbd\uc6b0 url\uc744 \uc9c1\uc811 \ub9cc\ub4e4\uc5b4 \ud559\uad50\uc5d0 \uc788\ub294 wifi \uc5d0 \uc811\uc18d\ud55c \uac00\ub2a5\ud55c \uc0ac\ub78c\uc5d0\uac8c \uce74\ud1a1\uc73c\ub85c \ubcf4\ub0b4\uc918\uc11c \ubcf4\ub0b4\uc900 \ub9c1\ud06c\ub97c \ub20c\ub7ec \ub2ec\ub77c\uace0 \uc694\uccad\ud55c\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub7ec\uba74 \uadf8 \uc0ac\ub78c\uc740 \ud559\uad50 \ub3c4\uba54\uc778\uc758 \ub124\ud2b8\uc6cc\ud06c\ub85c \uc811\uc18d\ud558\uae30 \ub54c\ubb38\uc5d0 license file\uc5d0 \ud574\ub2f9\ud558\ub294 \uc2a4\ud2b8\ub9c1\uc744 \ube0c\ub77c\uc6b0\uc988\uc0c1\uc5d0\uc11c \ubcf4\uac8c \ub418\ub294\ub370 \uc774\ub97c \uadf8 \ub300\ub85c \ubcf5\uc0ac\ud574\uc11c \ub2e4\uc2dc \uce74\ud1a1\uc73c\ub85c \ubcf4\ub0b4 \ub2ec\ub77c\uace0 \ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 \uadf8 \uc2a4\ud2b8\ub9c1\uc744 \uc798 \uc798\ub77c\uc11c \uc815\ub82c \ud6c4 gurobi.lic \ud30c\uc77c\ub85c \uc800\uc7a5 \ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p>gurobi.lic \ud30c\uc77c \ud3ec\ub9f7\uc740 \uc544\ub798\uc640 \uac19\ub2e4 <\/p>\n\n\n\n<p class=\"has-text-color has-vivid-red-color\"><strong>\u203b \uc8fc\uc758:    \ubb38\uc790\uc5f4 \ub05d \uc608\ub97c\ub4e4\uc5b4 ACADEMIC \ub05d\uc5d0 \uacf5\ubc31\uc774 \uc788\uc744 \uacbd\uc6b0\uac00 \uc788\ub294\ub370 \ubc18\ub4dc\uc2dc \uc81c\uac70 \ud574\uc57c \ud55c\ub2e4. \uc774 \uac83 \ub54c\ubb38\uc5d0 \uc624\ub958\uac00 \ub9ce\uc774 \ubc1c\uc0dd \ud55c\ub2e4<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/julialang.kr\/wp-content\/uploads\/2019\/12\/image.png\" alt=\"\" class=\"wp-image-2388\" width=\"338\" height=\"192\" srcset=\"https:\/\/julialang.kr\/wp-content\/uploads\/2019\/12\/image.png 662w, https:\/\/julialang.kr\/wp-content\/uploads\/2019\/12\/image-300x170.png 300w\" sizes=\"(max-width: 338px) 100vw, 338px\" \/><\/figure>\n\n\n\n<p>\uadf8\ub7ec\uba74 url\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \uc54c\uc544 \ubcf4\uc790<\/p>\n\n\n\n<p><strong>url \uc758 \ud615\uc2dd\uc740 \uc544\ub798\uc640 \uac19\ub2e4<\/strong><\/p>\n\n\n\n<p style=\"font-size:0\">http:\/\/apps.gurobi.com\/\/keyserver?<strong>id<\/strong>=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&amp;<strong>hostname<\/strong>=xxxx&amp;<strong>hostid<\/strong>=xxxxx&amp;<strong>username<\/strong>=xxxxx&amp;<strong>os<\/strong>=linux64&amp;<strong>sockets<\/strong>=1&amp;<strong>cpu<\/strong>=xxxxxx&amp;<strong>localdate<\/strong>=yyyy-mm-dd<\/p>\n\n\n\n<p>\uc704 url\uc758 \ud30c\ub77c\ubbf8\ud130 id, hostname, hostid,username,os,sockets\ub4f1\uc744 \uc5b4\ub5bb\uac8c \uc54c\uc544\ub0b4\uc11c \ucc44\uc6b0\ub294\uc9c0 \uc54c\uc544 \ubcf4\uc790<br> grbprobe \ub97c \uc2e4\ud589\ud558\uc5ec \ub9ce\uc740 \uc815\ubcf4\ub97c \uc54c \uc218 \uc788\ub2e4.  grbprobe \ub294 \/home\/shpark\/gurobi752\/linux64\/bin\uc5d0 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ grbprobe\n\nHOSTNAME=nmt0\nHOSTID=f6d5c6d5\nPLATFORM=linux64\nUSERNAME=shpark\nCPU=Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz\n<\/code><\/pre>\n\n\n\n<p>\uc704\uc758 \uacb0\uacfc\ub85c hostname, hostid, username, os,cpu \uc815\ubcf4\ub97c \ucc44\uc6b8 \uc218 \uc788\ub2e4. \ub2e8 cpu\uc815\ubcf4\ub294 \uacf5\ubc31 \ubc0f \ud2b9\uc218 \ubb38\uc790\uac00 \uc788\uc73c\ubbc0\ub85c url encoding\uc744 \ud55c\ub2e4.<\/p>\n\n\n\n<p>\uc608\ub97c \ub4e4\uc5b4 cpu \uc815\ubcf4\ub97c urll encoding\ud558\uba74 &#8220;Intel%28R%29%20Xeon%28R%29%20CPU%20E5-2690%20v4%20%40%202.60GHz&#8221; \uc774 \ub41c\ub2e4.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"\uc628\ub77c\uc778 url encoding \uc0ac\uc774\ud2b8 (\uc0c8\ud0ed\uc73c\ub85c \uc5f4\uae30)\" href=\"https:\/\/www.urlencoder.org\/\" target=\"_blank\">\uc628\ub77c\uc778 url encoding \uc0ac\uc774\ud2b8<\/a> &lt;&#8211; \ub9c1\ud06c \ud074\ub9ad<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 sockets\ub294 \uc544\ub798 \uc815\ubcf4\uc5d0\uc11c \uc54c\uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ lscpu\n\nArchitecture:        x86_64\nCPU op-mode(s):      32-bit, 64-bit\nByte Order:          Little Endian\nCPU(s):              28\nOn-line CPU(s) list: 0-27\nThread(s) per core:  2\nCore(s) per socket:  14\nSocket(s):           1<\/code><\/pre>\n\n\n\n<p>\ucc38\uace0\ub85c grbprobe \uac00 \uc0dd\uc131\ud55c hostid\uc640 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \ubcf4\uc5ec\uc8fc\ub294 hostid\uac00 \ub2e4\ub978 \uacbd\uc6b0\uac00 \uc788\ub2e4<\/p>\n\n\n\n<p>\uc608\ub97c \ub4e4\uc5b4 \uc544\ub798 \ucc98\ub7fc, \uc774\ub7f0 \uacbd\uc6b0\ub294  grbprobe \uac00 \ubcf4\uc5ec\uc8fc\ub294 hostid\ub97c \uc2dc\uc2a4\ud15c\uc5d0 \uc124\uc815\ud558\ub294 \uac83\uc774 \uc88b\ub2e4. <\/p>\n\n\n\n<p>hostid\ub97c \ubcc0\uacbd\ud558\ub294 \ubc29\ubc95\uc740 \ub9e8 \uc544\ub798 shell \ucf54\ub4dc\uac00 \uc788\ub2e4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ hostid\n007f0101<\/code><\/pre>\n\n\n\n<p>\uadf8\ub7ec\uba74 url\uc740 \uc544\ub798\uc640 \uac19\uc774 \uc644\uc131\ub41c\ub2e4. id \ub294 \ubd80\uc5ec \ubc1b\uc740 \uac83\uc73c\ub85c \ub123\uace0 localdates\ub294 \ud604\uc7ac \ub144\uc6d4\uc77c\uc744 \ub123\uc5b4\uba74 \ub41c\ub2e4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:\/\/apps.gurobi.com\/\/keyserver?id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXX&amp;hostname=nmt0&amp;hostid=f6d5c6d5&amp;username=shpark&amp;os=linux64&amp;sockets=1&amp;cpu=Intel%28R%29%20Xeon%28R%29%20CPU%20E5-2690%20v4%20%40%202.60GHz&amp;localdate=2019-12-05<\/code><\/pre>\n\n\n\n<p>\uc704\uc640 \uac19\uc774 \ud558\uc5ec \ud559\uad50 wifi\uac00 \uc811\uc18d\ub41c PC \ub610\ub294 \ud734\ub300\ud3f0\uc5d0\uc11c \uc704 \ub9c1\ud06c\ub97c \uc2e4\ud589\ud558\uba74 \uc544\ub798\uc640 \uac19\uc740 \ubb38\uc790\uc5f4\uc744 \ub3cc\ub824 \uc900\ub2e4. \uc2e4\ud328\uc2dc\uc5d0\ub294 RESULT\uac12\uc774 0\uc774 \uc544\ub2cc \ub2e4\ub978 \uac12\uc744 \ub3cc\ub824 \uc900\ub2e4. <\/p>\n\n\n\n<p>RESULT=0 LICENSEID=383565 # DO NOT EDIT THIS FILE except as noted # # License ID xxxxxx TYPE=ACADEMIC VERSION=7 HOSTNAME=nmt0 HOSTID=f6d5c6d5 USERNAME=shpark EXPIRATION=2020-12-04 KEY=xxxxxxx<\/p>\n\n\n\n<p>\uc774\uc81c \ub9ac\ud134\ub41c \uc704\uc758 \ubb38\uc790\uc5f4\uc744 \uc704 \uadf8\ub9bc\uc5d0\uc11c \ubcf4\uc5ec\uc900 gurobi.lic \ud30c\uc77c \ud3ec\ub9f7\uc5d0 \ub9de\uac8c \uc815\ub9ac \ud558\uace0  GRB_LICENSE_FILE \ubcc0\uc218\uc5d0 \uc9c0\uc815\ub41c \uacbd\ub85c\uc5d0 gurobi.lic \ud30c\uc77c\ub85c \uc800\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798\uc5d0 VERSION \uc815\ubcf4\ub97c \ubcf4\uba74 7 \ubc84\uc804\uc73c\ub85c \ub418\uc5b4 \uc788\ub2e4. \ub530\ub77c\uc11c gurobi optimizer\ub3c4 7.x \ubc84\uc804\uc744 \uc124\uce58 \ud574\uc57c \ud55c\ub2e4. \ub2e4\ub978 \ubc84\uc804\uc744 \uc124\uce58 \ud558\uba74 \ubc84\uc804\uc774 \ub9de\uc9c0 \uc54a\ub2e4\uace0 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c\ub2e4. (\ud604\uc7ac gurobi optimizer \ubc84\uc804\uc774 9.0 \uc778\ub370 \ub77c\uc774\uc120\uc2a4\ub294 7 \ubc84\uc804\uc73c\ub85c \ubc1c\uae09\ub41c\ub2e4)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># DO NOT EDIT THIS FILE except as noted #\n# License ID xxxxxx\nTYPE= ACADEMIC\nVERSION=7\nHOSTNAME=nmt0\nHOSTID=f6d5c6d5\nUSERNAME=shpark\nEXPIRATION=2020-12-04\nKEY=xxxxxxx<\/code><\/pre>\n\n\n\n<p>gurobi.lic \ud30c\uc77c\uc774 \uc815\uc0c1\uc801\uc778\uc9c0 \ud655\uc778 \ud558\ub824\uba74 $GUROBI_HOME\/bin \uc5d0 \uc788\ub294  gurobi.sh \ub97c \uc2e4\ud589 \ud574\uc11c \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798\uc5d0\uc11c \ubcfc \uc218 \uc788\ub4ef\uc774 &#8220;gurobi&gt;&#8221; \ud504\ub86c\ud2b8\uc640 &#8220;Academic license &#8211; for non-commercial use only&#8221; \ub77c\ub294 \ubb38\uad6c\ub97c \ud1b5\ud574 \ub77c\uc774\uc120\uc11c \ud30c\uc77c\uc774 \uc815\uc0c1\uc784\uc744 \uc54c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd $GUROBI_HOME\/bin\n$ .\/gurobi.sh\n\nPython 2.7.13 (default, Sep  4 2017, 15:40:17)\n[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\nAcademic license - for non-commercial use only\n\nGurobi Interactive Shell (linux64), Version 7.5.2\nCopyright (c) 2017, Gurobi Optimization, Inc.\nType \"help()\" for help\ngurobi><\/code><\/pre>\n\n\n\n<p>Julia\uc5d0 Gurobi package \uc124\uce58 &#8211; gurobi optimzer\ub97c \uc124\uce58 \ud558\uace0 \ub77c\uc774\uc120\uc2a4\ub3c4 \uc815\uc0c1\uc784\uc744 \ud655\uc778 \ud55c \ud6c4 julia Gurobi package \ub97c \uc124\uce58 \ud55c\ub2e4.<\/p>\n\n\n\n<p>\ud604\uc7ac master\ubc84\uc804 Gurobi \ud328\ud0a4\uc9c0\ub294 gurobi optimizer 9.0\uc744 \uc9c0\uc6d0 \ud558\ubbc0\ub85c master \ubc84\uc804\uc744 \uc124\uce58 \ud55c\ub2e4<\/p>\n\n\n\n<p>\uae30\uc874\uc5d0 julia Gurobi\uac00 \uc774\ubbf8 \ub2e4\ub978 \ubc84\uc804\uc758 gurobi opimizer\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d build \ub418\uc5c8\ub2e4\uba74 \ub2e4\uc2dc \ube4c\ub4dc\ub9cc \ud558\uba74 \ub41c\ub2e4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Pkg> add Gurobi#master\nPkg> build Gurobi<\/code><\/pre>\n\n\n\n<p>Julia\uc5d0\uc11c\ub3c4 \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud558\ub294\uc9c0 \ud655\uc778 \ud574\ubcf4\uba74 \uc544\ub798\uc11c \ubcf4\ub4ef \uc815\uc0c1\uc784\uc744 \uc54c \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>julia> using Gurobi\n\njulia> Gurobi.Env()\nAcademic license - for non-commercial use only\nGurobi.Env(Ptr{Nothing} @0x00000000016bfed0)<\/code><\/pre>\n\n\n\n<p>Julia\uc5d0\uc11c Gurobi\ub97c \uc0ac\uc6a9 \ud588\uc744 \ub54c \uc81c\ub300\ub85c \uacc4\uc0b0 \ud558\ub294 \uac83\uc744 \uc544\ub798\uc5d0\uc11c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>using JuMP, Gurobi\n\nm = Model(with_optimizer(Gurobi.Optimizer, Presolve=0, OutputFlag=0))\n\n@variable(m, 0 &lt;= x1 &lt;= 10)\n@variable(m, x2 >= 0)\n@variable(m, x3 >= 0)\n\n@objective(m, Max, x1 + 2x2 + 5x3)\n\n@constraint(m, constraint1, -x1 + x2 + 3x3 &lt;= -5)\n@constraint(m, constraint2, x1 + 3x2 - 7x3 &lt;= 10)\nprint(m)\nJuMP.optimize!(m)\nprintln(\"Optimal Solutions:\")\nprintln(\"x1 = \",JuMP.value(x1))\nprintln(\"x2 = \",JuMP.value(x2))\nprintln(\"x3 = \",JuMP.value(x3))\n\nprintln(\"Dual Variables:\")\nprintln(\"dual1 = \", JuMP.shadow_price(constraint1))\nprintln(\"dual2 = \", JuMP.shadow_price(constraint2))<\/code><\/pre>\n\n\n\n<p>\uacb0\uacfc\ub294<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Academic license - for non-commercial use only\nMax x1 + 2 x2 + 5 x3\nSubject to\n constraint1 : -x1 + x2 + 3 x3 \u2264 -5.0\n constraint2 : x1 + 3 x2 - 7 x3 \u2264 10.0\n x1 \u2265 0.0\n x2 \u2265 0.0\n x3 \u2265 0.0\n x1 \u2264 10.0\nAcademic license - for non-commercial use only\nOptimal Solutions:\nx1 = 10.0\nx2 = 2.1875\nx3 = 0.9375\nDual Variables:\ndual1 = 1.8124999999999998\ndual2 = 0.06249999999999989<\/code><\/pre>\n\n\n\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c hostid\uac00 \ub2e4\ub978 \uacbd\uc6b0 hostid\ub97c \ubcc0\uacbd\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uc544 \ubcf4\uc790.<\/p>\n\n\n\n<p>\uc544\ub798\uc640 \uac19\uc774 set_host_id.sh \ub77c\ub294 shell \ud30c\uc77c\uc744 \ub9cc\ub4e0\ub2e4.<\/p>\n\n\n\n<p>set_host_id.sh<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n#\n# Purpose: Write the passed in parameter as hostid to \/etc\/hostid\n#          If no parameter is passed, write current hostid to \/etc\/hostid\n# Author:  Fazle Arefin\n\nif [[ -n \"$1\" ]]; then\n  host_id=$1\n  # chars must be 0-9, a-f, A-F and exactly 8 chars\n  egrep -o '^[a-fA-F0-9]{8}$' &lt;&lt;&lt; $host_id || exit 1\nelse\n  host_id=$(hostid)\nfi\n\na=${host_id:6:2}\nb=${host_id:4:2}\nc=${host_id:2:2}\nd=${host_id:0:2}\n\necho -ne \\\\x$a\\\\x$b\\\\x$c\\\\x$d > \/etc\/hostid &amp;&amp;\n  echo \"Success\" 1>&amp;2\n\nexit 0<\/code><\/pre>\n\n\n\n<p>\uadf8\ub9ac\uace0 \ub2e4\uc74c\uacfc \uac19\uc774 \ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ chmod +x set_host_id.sh\n$ sudo .\/set_host_id.sh f6d5c6d5\n$ hostid\nf6d5c6d5<\/code><\/pre>\n\n\n\n<p>\ucc38\uc870 :  <a href=\"https:\/\/towardsdatascience.com\/running-julia-gurobi-jupyter-on-aws-33f7016ab229\">https:\/\/towardsdatascience.com\/running-julia-gurobi-jupyter-on-aws-33f7016ab229<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>gurobi\uc758 \uac00\uaca9\uc774 1user\ub2f9 $10,000\uc774\ub2e4 \ubcf4\ub2c8 \ud559\uc0dd \uc2e0\ubd84\uc73c\ub85c \uc5bb\uc744 \uc218 \uc788\ub294 Academic \ub77c\uc774\uc120\uc2a4\uac00 \uc544\ub2c8\uba74 \uc5c4\ub450\uac00 \ub098\uc9c0 \uc54a\ub294\ub2e4. \ube44\uc988\ub2c8\uc2a4 trial 30\uc77c \ub77c\uc774\uc120\uc2a4 \uc2e0\uccad\ub3c4 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9b0\ub2e4. \uc544\uce74\ub370\ubbf8 \ub77c\uc774\uc120\uc2a4\ub294 \ud559\uad50 \ub2e4\ub2c8\ub294 \uc8fc\ubcc0 \uc9c0\uc778\uc774 \uc788\ub294 \uacbd\uc6b0 \uc27d\uac8c \uc5bb\uc744 \uc218 \uc788\ub2e4. \uc544\uc8fc \uc27d\uac8c \ub098\ub3c4 \uc5b4\ucc0c\uc5b4\ucc0c \uc544\uce74\ub370\ubbf8 \ub77c\uc774\uc2a4\uc120\ub97c \ubc1c\uae09 \ubc1b\uc744 \uc218 \uc788\ub294 \ud0a4( XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX )\ub97c \uc5bb\uac8c \ub418\uc5c8\ub294\ub370 \uc2e4\uc81c \ub77c\uc774\uc120\uc2a4 \ud30c\uc77c \ubc1c\uae09\uc740 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[20,24],"tags":[],"_links":{"self":[{"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/posts\/2386"}],"collection":[{"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/julialang.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2386"}],"version-history":[{"count":9,"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/posts\/2386\/revisions"}],"predecessor-version":[{"id":2398,"href":"https:\/\/julialang.kr\/index.php?rest_route=\/wp\/v2\/posts\/2386\/revisions\/2398"}],"wp:attachment":[{"href":"https:\/\/julialang.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/julialang.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/julialang.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}