In[]:=
Adj=Table[adj[i,j],{i,1,2},{j,1,2}];vars=Flatten[Adj];args={Adj};constraints={};For[i=1,i<=2,i++,For[j=1,j<=2,j++,constraints=Append[constraints,-1<=adj[i,j]<=1]]];MatrixCost[m_?MatrixQ]:=With[{threshold=1/Times@@Dimensions[m]},Print[m[[1,1]]];Count[Map[GreaterThan[threshold],m,{2}],True,{2}]];totaladj[{ms___?MatrixQ}]:=(MatrixCost[{ms}[[1]]](*-(MatrixBenefit/@{ms})[[1]]*));sol=NMinimize[totaladj[args],constraints,vars]
adj[1,1]
Out[]=
{0.,{adj[1,1]1.,adj[1,2]1.,adj[2,1]1.,adj[2,2]1.}}
In[]:=
vars
Out[]=
{adj[1,1],adj[1,2],adj[2,1],adj[2,2]}
In[]:=
args
Out[]=
{{{adj[1,1],adj[1,2]},{adj[2,1],adj[2,2]}}}
In[]:=
m={{1,1},{1,1}};MatrixCost[m]
1
Out[]=
4
In[]:=
totaladj[{m}]
1
Out[]=
4