1樓:血_淋淋
剛好我也做了這個,給你參考哈
function x=lindual(c,a,b)[n1,n2]=size(a);
a=[a,eye(n1)];c=[-c,zeros(1,n1)];
x1=[zeros(1,n2),b'];lk=[n2+1:n1+n2];
while(1)
x=x1(1:n2);
s1=[lk',b,a]cx1
cc=;ci=;
for i=1:n1
if b(i)<0
cc=[cc,b(i)];
ci=[ci,i];
endend
nc=length(cc);
if nc==0
fprintf('達到最優解');
break
endcliu=cc(1);
cl=ci(1);
for j=1:nc
if abs(cc(j))>abs(cliu)cliu=cc(j);
cl=j;
endend
cc1=;ci1=;
for i=1:n1+n2
if a(cl,i)<0
cc1=[cc1,a(cl,i)];
ci1=[ci1,i];
endend
nc1=length(cc1);
if nc1==0
fprintf('無可行解');
break
endcliu=c(ci1(1))/cc1(1);
cl1=ci1(1);
for j=1:nc1
if c(ci1(j))/cc1(j) cl1=ci1(j); endend b(cl)=b(cl)/a(cl,cl1); a(cl,:)=a(cl,:)/a(cl,cl1); for k=1:n1 if k~=cl b(k)=b(k)-b(cl)*a(k,cl1); a(k,:)=a(k,:)-a(cl,:).*a(k,cl1); endend c=c-c(cl1).*a(cl,:); x1(lk(cl))=0; lk(cl)=cl1; for kk=1:n1 x1(lk(kk))=b(kk); endx=x1(1:n2); end驗證p62運籌學 min ω=2x1+3x2+4x3 x1+2x2+x3≥3 2x1-x2+3x3≥4 x1,x2,x3≥0 檢驗format rat c=[2 3 4];a=[-1 -2 -1;-2 1 -3];b=[-3;-4]; x=lindual(c,a,b) 2樓:匿名使用者 3樓:金 具體uyaoqiu是什麼 【高分求】運籌學,可以用單純形法解,或者用matlab算出來也行。 4樓:青衣瓦屋 用mathematica可以直接整數規劃: module[, cast = ; value = ; varx = array[x, 6]; con0 = # >= 0 & /@ varx; con1 = ; con2 = ; cons = join[con0, con1, con2]; obj = varx.value; ans = maximize[obj, cons, varx, integers] ]結果為: }一點建議,如果覺得這樣太簡單了,可以加上這樣的假設:一天之內連續兩頓都在同一家食堂/飯館吃飯的話滿意度只有80%(這個數可以自行修改),如此則需要36個未知數,結果會有趣得多:-p。 不過如果校外兩家的引數不做修改的話會始終是x[5]=3,x[6]=0。 5樓:匿名使用者 既然你公式已經列出來了,那就直接將它轉換為matlab**就可以了,matlab中使用linprog函式來進行先行規劃求解,**如下: clcclear c = [60;65;60;70;75;73]; a = [5.5,8.5,5.4,11.4,30,29.5; -1,-1,-1,0,0,0; 0,0,0,0,-1,-1; ];b=[450;-20;-3]; aeq = [1,1,1,1,1,1]; beq = [60]; x = linprog(-c,a,b,aeq,beq,zeros(6,1)) value = c'*x 執行結果如下: x =0.0000 0.0000 48.3000 8.7000 3.0000 0.0000 value = 3.7320e+003 >>你可能注意到了,這裡的x是次數,所以,x的值不應該有小數的情況,所以需要使用整數規劃,整數規劃最好使用lingo軟體,專門用於解決規劃問題,你可以試試。 matlab單純形法求解線性規劃 用matlab 編個程式 6樓:匿名使用者 求解線性規劃問題,matlab裡統一使用linprog函式,其用法是x = linprog(f,a,b,aeq,beq,lb,ub)並且是用來求解最小值的,所以目標函式改為最小值。 這裡引數 f=[-40;-30;-10] a=[9 7 10;0.6 1.5 1;0.6 1.5 -1]b = [10; 3.2; 5] lb = zeros(3,1) [x,fval,exitflag,output,lambda] = linprog(f,a,b,,,lb); ********************===執行結果 x =1.1111 0.0000 0.0000 7樓:匿名使用者 這是典型的線性優化問題,可以使用linprog函式進行建模求解。 配置 品牌型號 數量 單價 選用 cpu amd 速龍ii x2 245 1 430 主機板 微星 ka785gtm e45 1 499 記憶體 金士頓 2gb ddr2 800 窄板 1234 215 硬碟 希捷 320g 7200.11 16m 串列埠 3年盒 1234 350 顯示卡 影馳 9... 先畫出導數的曲線,根據其零點判斷有幾個極點,然後對各極點分別指定適當的初值,利用fsolve求出準確的零點位置,再繪圖即可.參考 如下 symsxf 2 x.2 4 sin 2 pi x df diff f ezplot df,33 x0 1.8 1.3 0.80.50.20.51.2 x0 fso... intel 酷睿i5 2300 盒 1175技嘉 ga g41mt s2 429 金士頓 4gb ddr3 1333 145wd wd5000aakx 500gb藍盤 275百事得 黑甲悍將 65 先馬 超影400感恩版 168 aoc 941s 665 卡爾波 t500鍵鼠套裝 38 總計 299...高分!!求秋季電腦配置單急
matlab中求極值點,matlab中求極值點
高分求3000以內的組裝電腦配置單要求能看電影玩