@y20070316
2017-03-10T10:26:54.000000Z
字数 888
阅读 904
OI 专题练习
(1)Minimize->Maximize:的系数取反,求最大值,对答案取反。
(2)a=b:
(3)变量本身的约束
:设,则
:设,则
无限制:设,则
(4)对偶原理
下列两组线性规划的最优解相同。
①
实现小结:一定要明确行向量、列向量以及矩形的大小。
void Pivot(int l,int e) {c[l]/=a[l][e];F(j,1,n) if (j!=e)a[l][j]/=a[l][e];a[l][e]=1/a[l][e];F(i,1,m) if (i!=l&&a[i][e]!=0) {c[i]=c[i]-a[i][e]*c[l];F(j,1,n) if (j!=e)a[i][j]=a[i][j]-a[i][e]*a[l][j];a[i][e]=0-a[i][e]*a[l][e];}res=res+b[e]*c[l];F(j,1,n) if (j!=e)b[j]=b[j]-b[e]*a[l][j];b[e]=0-b[e]*a[l][e];}void Simplex(void) {F(t,1,INF) {int e=0;F(i,1,n)if (b[i]>0) {e=i;break;}if (!e) break;double mn=INF; int l=0;F(i,1,m)if (a[i][e]>0&&c[i]/a[i][e]<mn) {mn=c[i]/a[i][e];l=i;}if (mn==INF) {res=INF;return;}Pivot(l,e);}}
