Thank for the answer,&nbsp;i figured it would be more complicatedi&nbsp;(insert&nbsp;the&nbsp;elements&nbsp;to&nbsp;the&nbsp;set&nbsp;&quot;ac&quot;), but it was easy&nbsp; <br> <br>MP_subset&lt;2&gt; ab(A,B), bc(B,C), ac(A,C);<br>&nbsp;&nbsp;ab.insert(12,780);   ab.insert(30,780);    
ab.insert(41,782);    . . .<br>&nbsp;&nbsp;bc.insert(780,170);    bc.insert(780,140);    bc.insert(782,154);    . . .<br>forall( ab(a,b)*bc(b,c),  ac.insert(a,c));<br>MP_binary_variable Xac(ac);<br><br>if i want to add other binary variable on the set C, then&nbsp;i&nbsp;would&nbsp;do&nbsp; 
<br>&nbsp;&nbsp;MP_binary_variable Yc(C);<br>or i would do<br>&nbsp;&nbsp;MP_subset&lt;1&gt; cc(C);<br>&nbsp;&nbsp;forall(ac(a,c), cc.insert(c));<br>&nbsp;&nbsp;MP_binary_variable Yc(cc);<br><br>my question is because  i want to declare after          the objective function that minimize the variable binary&nbsp;&quot;Yc&quot;,&nbsp;ie&nbsp;i&nbsp;will think&nbsp;to&nbsp;do
<br> <br>&nbsp;&nbsp;minimize( sum( cc(xc), Yc(xc)) );&nbsp; is this correct? <br><br>and, if i want to add the constraint P (&quot;MP_constraint P(A)&quot;), such that<br>&nbsp;&nbsp;P(a) = sum( C(c), Xac(ac(a,c)) ) == 1;<br>or i would do <br>&nbsp;&nbsp;MP_subset&lt;1&gt; cc(C);
<br>&nbsp;&nbsp;forall(ac(a,c), cc.insert(c));<br>&nbsp;&nbsp;forall(ac(a,c), aa.insert(a));<br>&nbsp;&nbsp;MP_constraint P(aa);<br>&nbsp;&nbsp;P(aa(a)) = sum( cc(c), Xac(ac(a,c)) ) == 1;<br><br>I am a bit confused when working with subsets. Thanks<br>