C語言實現單純形法與對偶單純形法

2021-09-29 23:52:35 字數 2746 閱讀 9211

某次為了完成課程要求所做:

單純形法**如下,使用方法修改二位陣列a[ip][jp],

#include

#define ip 3

#define jp 7

int i,j,m,n,flag=1;

float max=-1

,min=

1000

,guiyi;

float c[jp-1]

=;float a[ip]

[jp]=,

,};float x[ip]=;

float zc[jp-1]

=;int ji[ip]=;

//第3、4、5為4.5.6前係數

void

show()

;void

jinji()

;void

chuji()

;void

trans()

;void

show_result()

;int

main()

}show_result()

;c=getchar()

;return0;

}void

show()

printf

("\n");

for(i=

0;i)printf

("\n");

}}void

jinji()

printf

(" ");

}}printf

("%.2f "

,zc[j]);

}printf

("%d\n"

,m);

}void

chuji()

printf

("%d"

,n);

}void

trans()

for(i=

0;i//改變基

ji[n]

=m;//矩陣是從0開始的

}void

show_result()

printf

("\n(x1,x2,x3)=(%.2f,%.2f,%.2f)"

,x[0

],x[1]

,x[2])

;printf

("最優解為%f"

,c[0

]*x[0]

+c[1

]*x[1]

+c[2

]*x[2]

);}

對偶單純形法

#include

#define ip 4

#define jp 8

int i,j,m,n,flag=1;

float min=

0,guiyi;

float c[jp-1]

=;float a[ip]

[jp]=,

,,};

float x[3]

=;//原先最優解

float zc[jp-1]

=;//檢驗數

int ji[ip]=;

//基void

show()

;void

jinji()

;void

chuji()

;void

trans()

;void

trans_init()

;void

show_result()

;int

main()

if(min>a[ip-1]

[jp-1]

)show_result()

;//至此單純形法結束

}else

min=0;

c=getchar()

;//暫停一下

return0;

}void

show()

printf

("\n");

for(i=

0;i)printf

("\n");

}}void

jinji()

printf

("%.2f "

,zc[j]);

}printf

("\n");

min=0;

for(j=

0;j1;j++)}

// printf("%d",m);

}void

chuji()

// printf("%d",n);

}void

trans_init()

for(i=

0;i1;i++)}

}void

trans()

float tem[ip]

;//保留矩陣a中行變換需要歸零的列

for(i=

0;i)for

(i=0

;i//改變基

ji[n]

=m;//矩陣是從0開始的

}void

show_result()

printf

("\n(x1,x2,x3)=(%.2f,%.2f,%.2f)"

,x[0

],x[1]

,x[2])

;printf

("最優解為%f"

,c[0

]*x[0]

+c[1

]*x[1]

+c[2

]*x[2]

);}

單純形法簡介

考慮目標函式,ma xz 3 x1 4 x2增加x1 和x2 的值都將改進 z 的值,單純形法的設計要求每次都選擇使 z值有最大改善的那個變數。意味著在上述目標函式中,首先選擇增加x2 的值。通過對問題約束施加以下兩項要求來方便單純形法的計算 1.所有的約束都是等式,並且具有非負右端項 2.所有變數...

單純形法python實現

coding utf 8 單純形法的實現,只支援最簡單的實現方法 且我們假設約束矩陣a的最後m列是可逆的 這樣就必須滿足a是行滿秩的 m n的矩陣 import numpy as np class x object def init self,c,a,b 形式 minf x c.tx s.t.ax ...

單純形法中大m法 單純形法(大M法)

function x,fval,flag,iteration original m c,a,b 原始單純形法 大m法,無需給出初始基變數 programmed by liyang faruto s studio bnu math last modified 2008.4.27 求解標準型線性規劃 m...