rocess(nlet,i,indexl-1);//传 net, 行号,indexl-1 过去<br/> }<br/> if(code==1)<br/> {<br/> net[indexg++]=1; //人工变量数+1且置成相应的标记<br/>  
rocess(net,i,indexg-1); //将刚加入的列单位化 <br/> }<br/> if(code==2)<br/> {<br/> net[indexg++]=1; //人工变量数+1 且置成相应的标记<br/> nget[indexe++]=-1; //剩余变量数+1 且置成相应的标记<br/> Process(net,i,indexg-1)
rocess(nlet,i,indexe-1);<br/> }<br/> }<br/> s=indexe+indexl+indexg+m; //变量总个数<br/> Merge(nget,nlet,net,b);<br/> 
rocessA();<br/> InitPrint();<br/> Xartificial();<br/>}</p><p>void Simplix()//单纯形法<br/>{<br/> int in,out,temp=0;<br/> while(1)<br/> {<br/> jckxj();<br/>  
rint();<br/> Result();<br/> if(!rj()) in=Min();<br/> else<br/> {<br/> if(indexg!=0)<br/> JustArtificial();<br/>  
rintResult();<br/> return;<br/> }<br/> if(Check(in))<br/> {<br/> cout<<"No Delimition\n";<br/> return;<br/> }<br/> out=SearchOut(&temp,in);<br/> Mto(in,temp);<br/> Be(temp,in);<br/> Achange(in,out);<br/> }<br/>}</p><p>void main()<br/>{<br/> int code[100];//输入符号标记<br/> float b[100];<br/> Input(b,code);//初始化<br/> Start(b,code);//标准化行<br/> Simplix();<br/>}<br/>/*模拟输入数据 <br/> max z=2 x1 + 3 x2<br/> s.t {<br/> x1 + 2 x2 <=8<br/> 4 x1 <=16<br/> 4 x2<=12<br/> x1,x2>=0<br/> }</p><p>2 3 8 0 1 2 16 0 4 0 12 0 0 4<br/>*/</p>
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |