$B%H%C%W(J > $B%a!<%k%^%,%8%s(J > $B%a!<%k%^%,%8%s(J $B%P%C%/%J%s%P!<(J

$B?tM}%7%9%F%`(J $B:GE,2=%a!<%k%^%,%8%s(J

$B%P%C%/%J%s%P!<(J ( 2020 Vol.6 ) 2020 $BG/(J 11 $B7n(J 11 $BF|(J $BH/9T(J

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  $B?tM}%7%9%F%`(J $B:GE,2=%a!<%k%^%,%8%s(J  http://www.msi.co.jp/nuopt/
                           2020 Vol.6 ( 2020 $BG/(J 11 $B7n(J 11 $BF|(J $BH/9T(J )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

$B?tM}%7%9%F%`(J $B:GE,2=%a!<%k%^%,%8%s$G$O!$?tM}7W2hK!%Q%C%1!<%8(J
$B?tM}%7%9%F%`(J Numerical Optimizer $B$r$O$8$a$H$7$F!$:GE,2=$K4X$9$kMM!9(J
$B$J>pJs$d$40FFb$rDs6!$7$F$$$-$^$9!%(J

++++ [$BL\$B"#(J <$B%H%T%C%/(J> $B!XLdBj2r7hNO$rCC$($k!*%"%k%4%j%:%`$H%G!<%?9=B$!Y(J
               $B=PHG5-G09V1i2q(J $B3+:E%l%]!<%H(J
 $B"#(J <$B%H%T%C%/(J> $BJ@
 $B"#(J <$B%;%_%J!<(J> $B%*%s%i%$%s%;%_%J!<$N$40FFb(J
 $B"#(J <  tips  > $B;H$C$F$_$h$&(J PySIMPLE$B!JBh(J 11 $B2s!K(J
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

******************************************************************
$B"#(J <$B%H%T%C%/(J> $B!XLdBj2r7hNO$rCC$($k!*%"%k%4%j%:%`$H%G!<%?9=B$!Y(J
               $B=PHG5-G09V1i2q(J $B3+:E%l%]!<%H(J
******************************************************************

$BJ@R2p5-;v!'(J
    https://www.msiism.jp/article/otsuki-algorithm-and-data-structure.html$B!K(J

$BEv=iM=Dj$7$F$$$??M?t$rBgI}$K>e2s$kJ}!9$+$i$N?=$79~$_$K$h$j!$5^n1(J
$B?=$79~$_OH$r3HBg$9$kDx$N@967$V$j$G!$%"%k%4%j%:%`$r@lLg$K$7$F$$$kJ}(J
$B$+$i$3$l$+$iJY6/$r;O$a$k$H$$$&J}$^$G!$I}9-$$AX$NJ}$K$4;22C$$$?$@$-(J
$B$^$7$?!%(J
$B%*%U%i%$%s$H%*%s%i%$%s$N%O%$%V%j%C%I3+:E$G$"$C$?$?$a!$46@w>IBP:v$r(J
$B==J,$K9T$C$?>e$G!$8=CO$G$O=q@R$NB(Gd2q$H%5%$%s2q$bJ;$;$Fe$,$j$N$"$k%$%Y%s%H$H$J$j$^$7$?!%(J

$B9V1i$NFbMF$O!$K\$r=q$$$?%b%A%Y!<%7%g%s$N@bL@$+$i;O$^$j!$6qBNE*$J(J
$B%"%k%4%j%:%`$N>R2p$rDL$8$F%"%k%4%j%:%`$r3X$V0U5A$r2r@b$9$k$b$N$G!$(J
$BBgDP;a$N%"%k%4%j%:%`$KBP$9$kG.$$;W$$$,EA$o$C$F$/$k$H$H$b$K!$(J
$B2~$a$F;a$N%"%k%4%j%:%`$KBP$9$kB$7X$N?<$5$r46$8$5$;$i$l$^$7$?!%(J
$B!J9V1i;qNA$O$3$A$i$G8fMw$K$J$l$^$9!'(J
    https://www.slideshare.net/drken1215/ss-239020647$B!K(J

$BBgJQ$J$49%I>$r$$$?$@$-!$!V$b$&0lEYJ9$-$?$$!W!$!V$b$C$H>\$7$/2r@b(J
$B$7$F$[$7$$!W$J$I$N@<$bB?$/4s$;$i$l$F$$$k$?$a!$B3JT$d:F3+:E!$(J
$B9V1iFbMF$N%*%s%G%^%s%IG[?.$J$I$r8=:_4k2h8!F$Cf$G$9!%(J
$B:G?7$N>pJs$K$D$$$F$O!$J@https://www.msiism.jp/$B!K(J
$B$K$F$*CN$i$;$7$F$$$-$^$9$N$G!$3Z$7$_$K$*BT$A$/$@$5$$!%(J

                                                 $B!J>>2,(J $BM&5$!K(J

******************************************************************
$B"#(J <$B%H%T%C%/(J> $BJ@6a$$J}$K$4;22C$$$?$@$-$^$7$?!%(J
$B$4;22C$NJ}!9$O$^$3$H$K$"$j$,$H$&$4$6$$$^$7$?!%(J

$B9V1i$O$b$A$m$s!$9V1i8e$N%Q%M%k%G%#%9%+%C%7%g%s$b@9$j>e$,$C$?$N$,(J
$B0u>]E*$G$7$?!%(J
$B!V:#8e$N?tM}:GE,2=$NMxMQ%7!<%s!W$H$$$&OCBj$G$b(J
$B!VAH$_9~$_4D6-$K$*$1$k:GE,2=!W$J$IB?MM$J%"%$%G%"$,=P$F!$:#8e$N(J
$B?tM}:GE,2=$NL$Mh$r3@4V8+$?5$$,$$$?$7$^$7$?!%(J

$B>\$7$$Js9p$O(J MSIISM $B$K$F6aF|8x3+M=Dj$G$9!*(J
$B3Z$7$_$K$*BT$A$/$@$5$$!%(J

$B:#2s$O3+:E$NET9g>e!$;22C?M?t$K>e8B$r@_$1$5$;$F$$$?$@$-$^$7$?!%(J
$B;22C$7$?$+$C$?$K$b$+$+$o$i$:$G$-$J$+$C$?J}$K$O$*OM$S?=$7>e$2$^$9!%(J
$B$49%I>$N$?$aMhG/$bN`;w$N4k2h$r8!F$$7$F$*$j$^$9$N$G!$@'Hs$=$N:]$O(J
$B$4;22C$*BT$A$7$F$*$j$^$9!%(J

                                                 $B!JF#0f(J $B9@0l!K(J

******************************************************************
$B"#(J <$B%;%_%J!<(J> $B%*%s%i%$%s%;%_%J!<$N$40FFb(J
******************************************************************

12 $B7n(J 9 $BF|$K6bM;9)3X%;%_%J!<$r%*%s%i%$%s$G3+:E$$$?$7$^$9!%(J
$B$3$N%;%_%J!<$G$O(J PySIMPLE $B$rMQ$$$F6bM;9)3X$K$+$+$o$k%b%G%k$r2r$/(J
$BNc$r$4>R2p$$$?$7$^$9!%%*%s%i%$%s$+$DL5NA$N%;%_%J!<$G$9$N$G!$(J
$B$*5$7Z$K$4;22C$/$@$5$$!%(J

$B$^$?!$6bM;9)3X%;%_%J!<0J30$K$bDjNc3+:E$N>R2p%;%_%J!<$H%(%M%k%.!<(J
$B%^%M%8%a%s%H$KFC2=$7$?%;%_%J!<$r$4MQ0U$7$F$$$^$9!%(J
$B$3$A$i$b$<$R$48!F$$/$@$5$$!%(J

$B!&6bM;9)3X%;%_%J!<(J
  https://msi.hmup.jp/nuopt/seminar/finance

  $BF|Dx$H$*?=9~$_%Z!<%8(J
  2020 $BG/(J 12 $B7n(J 09 $BF|(J ($B?e(J) 13:30$B!A(J15:30 
  https://area34.smp.ne.jp/area/card/26339/8kDJ1F/M?S=lbpftj0lcpb0k

$B!&%(%M%k%.!<%^%M%8%a%s%H:GE,2=%;%_%J!<(J
  https://msi.hmup.jp/nuopt/seminar/enemanage

  $BF|Dx$H$*?=9~$_%Z!<%8(J
  2020 $BG/(J 12 $B7n(J 18 $BF|(J ($B6b(J) 13:30$B!A(J15:30
  https://area34.smp.ne.jp/area/card/26339/0kRJAj/M?S=lbpftj0lcne0k

$B!&(JNumerical Optimizer $B>R2p%;%_%J!<(J
  https://msi.hmup.jp/nuopt/seminar/webinar

  $BF|Dx$H$*?=9~$_%Z!<%8(J
  2020 $BG/(J 12 $B7n(J 08 $BF|(J ($B2P(J) 13:30$B!A(J15:30
  https://area34.smp.ne.jp/area/card/26339/0fr5BG/M?S=lbpftj0lcof0k

                                                 $B!J@P66(J $BJ]?H!K(J

******************************************************************
$B"#(J <  tips  > $B;H$C$F$_$h$&(J PySIMPLE$B!JBh(J 11 $B2s!K(J
******************************************************************

$B$3$N%3!<%J!<$G$O!$(JNumerical Optimizer V21 $B0J9_$N5!G=$G$"$k%b%G%j%s%0(J
$B8@8l(J PySIMPLE $B$N%(%C%;%s%9$r>R2p$7$F$$$-$^$9!%(J
$B:#$^$G$NO":\$G$O(J SIMPLE $B$H(J PySIMPLE $B$rHf3S$7$J$,$i(J PySIMPLE $B$NFCD9$r(J
$B>R2p$7$F$-$^$7$?!%:#2s$O(J PySIMPLE $B$N6lR2p$7$^$9!%$A$g$C$HJ#;($J$N$G$4Cm0U$/$@$5$$$^$;!%(J

$BJ*N.$J$I$GEP>l$9$k%U%m!<%M%C%H%o!<%/$K$h$/8+$i$l$kJ]B8B'$r9M$($^$9!%(J
$B$^$:$O%N!<%I(J 1, 2, 3, 4 $B$,8_$$$KM"Aw$G$-$k>r7o$GJ]B8B'$r9M$($F$_$^(J
$B$7$g$&!%%M%C%H%o!<%/$r?^<($9$k$H0J2<$N$h$&$K$J$j$^$9!%(J

                             $B-!(J $B(!(J $B-"(J
                             $B!C(J $B!_(J $B!C(J
                             $B-#(J $B(!(J $B-$(J

$BJ]B8B'!$$9$J$o$A3F%N!<%I$G$NF~NO$H=PNO$,Ey$7$$$H$$$&@)Ls$r(J SIMPLE $B$G(J
$B5-=R$9$k$H0J2<$N$h$&$K$J$j$^$9!%(J

------------------------------------------------------------------
Set N="1 2 3 4"; Element i(set=N), j(set=N), k(set=N);
Variable x(index=(i,j));
sum(x[j,i], j) == sum(x[i,j], j);
//sum(x[i,k], i) == sum(x[k,j], j);  // $B$3$l$G$bF1$8(J
------------------------------------------------------------------

showSystem() $B4X?t$GE83+$rI=<($5$;$F$_$k$H0U?^DL$j$K$J$C$F$$$k$3$H$,(J
$BJ,$+$j$^$9!%(J

------------------------------------------------------------------
-x[1,1]-x[2,1]-x[3,1]-x[4,1]+x[1,1]+x[1,2]+x[1,3]+x[1,4] == 0
-x[1,2]-x[2,2]-x[3,2]-x[4,2]+x[2,1]+x[2,2]+x[2,3]+x[2,4] == 0
-x[1,3]-x[2,3]-x[3,3]-x[4,3]+x[3,1]+x[3,2]+x[3,3]+x[3,4] == 0
-x[1,4]-x[2,4]-x[3,4]-x[4,4]+x[4,1]+x[4,2]+x[4,3]+x[4,4] == 0
------------------------------------------------------------------

$Br7o(J($BAB$G$"$k%1!<%9(J)$B$r9M$($F$_$^(J
$B$7$g$&!%$^$:$O0lC6!$$9$Y$F$N%N!<%I$KF~NO$H=PNO$,$"$k$H$$$&>r7o$G(J
$B9M$($k$3$H$K$7$^$9!%(J

------------------------------------------------------------------
Set N; Element i(set=N), j(set=N), k(set=N);
Set IJ(dim=2, superSet=(N,N)); IJ = "1,4 2,1 2,3 3,6 4,5 5,2 6,5";
Variable x(index=IJ);
sum(x[j,i], (j, (j,i)<IJ)) == sum(x[i,j], (j, (i,j)<IJ));
//sum(x[i,k], (i, (i,k)<IJ)) == sum(x[k,j], (j, (k,j)<IJ));  // $BF1$8(J
------------------------------------------------------------------

$B$3$NNc$G$O%M%C%H%o!<%/$K0J2<$N$h$&$JF~=PNO$N4X78$,$"$j$^$9!%(J

                          $B-!(J $B"+(J $B-"(J $B"*(J $B-#(J
                          $B"-(J    $B",(J    $B"-(J
                          $B-$(J $B"*(J $B-%(J $B"+(J $B-&(J

$BF1MM$KE83+$rI=<($5$;$F$_$k$H0J2<$N$h$&$K$J$j$^$9!%(J

------------------------------------------------------------------
-x[2,1]+x[1,4] == 0
-x[5,2]+x[2,1]+x[2,3] == 0
-x[2,3]+x[3,6] == 0
-x[1,4]+x[4,5] == 0
-x[4,5]-x[6,5]+x[5,2] == 0
-x[3,6]+x[6,5] == 0
------------------------------------------------------------------

$B$3$N$h$&$J@)Ls$r(J PySIMPLE $B$G5-=R$9$k$K$O$A$g$C$H9)IW$,I,MW$G$9!%(J
SIMPLE $B$G$O(J sum $B$r$H$C$?;D$j$NE:;z$,<+F0E*$K%^%C%A%s%0$9$k$N$G$9$,!$(J
PySIMPLE $B$G(J Sum(x[ij], ij(0)) == Sum(x[ij], ij(1)) $B$H5-=R$7$F$7$^$&(J
$B$H!$$=$l$,$G$-$J$$$?$a$G$9!%$=$3$G%^%C%A%s%0MQ$NE:;z(J k $B$rMQ0U$9$k$H(J
$B$$$&9)IW$r$9$k$3$H$G0J2<$N$h$&$K5-=R$9$k$3$H$,$G$-$^$9!%(J

------------------------------------------------------------------
IJ = Set(value=[(1,4), (2,1), (2,3), (3,6), (4,5), (5,2), (6,5)])
ij = Element(set=IJ)
x = Variable(index=ij)
k = Element(set=IJ(0)|IJ(1))  # k in (1, 2, 3, 4, 5, 6)
Sum(x[ij], ij(0))[k] == Sum(x[ij], ij(1))[k]
------------------------------------------------------------------

$B$G$O!$$9$Y$F$N%N!<%I$KF~=PNO$,$"$k$H$O8B$i$J$$>l9g$G$O$I$&$G$7$g$&$+!%(J
$BfIW$J$N$G$9$,!$(JPySIMPLE $B$G$O$3$3$+$i(J
$B99$K$b$&0l9)IW$,I,MW$G$9!%0J2<$N$h$&$J%U%m!<%M%C%H%o!<%/$r9M$($F$_$^(J
$B$7$g$&!%@h$[$I$H0[$J$j!$-!$O=PNO$N$_!$-&$OF~NO$N$_$H$J$C$F$$$^$9!%(J

                          $B-!(J $B"*(J $B-"(J $B"*(J $B-#(J
                          $B"-(J    $B",(J    $B"-(J
                          $B-$(J $B"*(J $B-%(J $B"*(J $B-&(J

------------------------------------------------------------------
IJ = Set(value=[(1,2), (1,4), (2,3), (3,6), (4,5), (5,2), (5,6)])
ij = Element(set=IJ)
x = Variable(index=ij)
------------------------------------------------------------------

PySIMPLE $B$GF1$85-=R$r$9$k$H!$E:;z(J k $B$,=PNO$N$_$N-!!$F~NO$N$_$N-&$G(J
KeyError $B$H$J$C$F$7$^$$$^$9!%$=$3$G!$@)Ls$rF~=PNO$"$j!$=PNO$N$_!$(J
$BF~NO$N$_$N(J 3 $B$D$KJ,2r$9$k$3$H$G0J2<$N$h$&$K5-=R$9$k$3$H$,$G$-$^$9!%(J

------------------------------------------------------------------
m = Element(set=IJ(0)&IJ(1))         # m in (2, 3, 4, 5)
Sum(x[ij], ij(0))[m] == Sum(x[ij], ij(1))[m]  # $BF~=PNO$"$j(J
Sum(x[ij], ij(1))[ij(0)>IJ(1)] == 0  # ij(0)>IJ(1) in (1,)
Sum(x[ij], ij(0))[ij(1)>IJ(0)] == 0  # ij(1)>IJ(0) in (6,)
------------------------------------------------------------------

$B$3$3$G!$(JIJ(0) $B$O(J IJ $B$N0lhttp://www.msi.co.jp/nuopt/user/index.html

                                                 $B!JCSED(J $BM*!K(J

==================================================================
$B"((J $B$3$N%a!<%k$O!$J@;I(J
   $BEy$rD:$$$?$3$H$N$"$kJ}$dEv@\$*Ld9g$;$rD:$$$?$3$H$N$"$kJ}(J
   $B$K$*Aw$j$7$F$$$^$9!%(J
$B"((J $B%P%C%/%J%s%P!<$O$3$A$i$+$i8fMwD:$1$^$9!%(J
     https://www.msi.co.jp/nuopt/mailmagazine/index.html
$B"((J $BK\%a!<%k%^%,%8%s$OEyI}%U%)%s%H$G$*FI$_$K$J$k$3$H$r?d>)$7$^$9!%(J
$B"((J $B:#8e!$K\%a!<%k%^%,%8%s$d$40FFb$K4X$9$k%a!<%k$,ITMW$JJ}$O!$@?$K(J
   $B$*pJs$O!$0E9f2=$5$l$?DL?.(J(SSL)$B$GJ]8n$5$l!$(J
   $B%W%i%$%P%7!<%^!<%/$d(J ISO27001/JIS Q 27001, ISO20000-1, ISO9001
   $B$NG'>Z$rpJs4IM}(J
   $B%7%9%F%`!V%9%Q%$%i%k!W$G0BA4$K4IM}$5$l$^$9!%(J

   $B>e5-$K%"%/%;%9$,$G$-$J$$>l9g$K$O!V%a!<%kITMW!W$HL@5-$N>e!$(J
     nuopt-ms@msi.co.jp
   $B!J$3$N%a!<%k$KJV?.$G7k9=$G$9!K$K%a!<%kAwIU$7$F$/$@$5$$!%(J

$BH/9T!'3t<02q> $BC4Ev(J
        $BEl5~ET?7=I6h?.G;D.(J 35 $BHVCO(J $B?.G;D.N{4$4[(J 1 $B3,(J
                                   tel : 03-3358-6681
                                e-mail : nuopt-info@msi.co.jp
==================================================================