1樓:化學工程
程式編的非常好,只有一句:size(x) = [4,3]改為x =zeros(4,3) 即可。
%******************************===
function fff
clear;clc;
a= [1,1,1,0,0,0,0,0,0,0,0,0;
0,0,0,1,1,1,0,0,0,0,0,0;
0,0,0,0,0,0,1,1,1,0,0,0;
0,0,0,0,0,0,0,0,0,1,1,1;
-1,0,0,-1,0,0,-1,0,0,-1,0,0;
0,-1,0,0,-1,0,0,-1,0,0,-1,0;
0,0,-1,0,0,-1,0,0,-1,0,0,-1]
b=[200-1.645*10;
300-1.645*10;
400-1.645*10;
200-1.645*10;
-100-1.645*10;
-300-1.645*10;
-400-1.645*10]
x0=[0,0,0,0,0,0,0,0,0,0,0,0];
lb=[0,0,0,0,0,0,0,0,0,0,0,0];
ub=;
[x,fval,exitflag]=fmincon(@myobj,x0,a,b,,,lb,ub)
function f=myobj(x)
c = [12 21 21; 13 20 23; 15 17 27; 17 19 31];
x =zeros(4,3)
y = c.*x;
y = sum(y(:));
s = 0;
for i = 1:4
sg = sum(x(i,:));
s = s+sg.^0.6;
endf = y+200*s;
%*************************====
執行結果:
x =19.5167 69.5167 94.
5167 38.7083 88.7083 113.
7083 38.7083 88.7083 113.
7083 19.5167 69.5167 94.
5167
fval =
0exitflag =1
2樓:匿名使用者
global optimal solution found.
objective value: 112550.5
objective bound: 112550.4
infeasibilities: 0.000000
extended solver steps: 83
total solver iterations: 4753
variable value reduced cost
x1 50.65000 0.000000
x2 0.000000 7.000000
x3 132.9000 0.000000
x4 0.000000 3.438348
x5 0.000000 8.438348
x6 283.5500 0.000000
x7 65.80000 0.000000
x8 316.4500 0.000000
x9 0.000000 0.1050611e+09
x10 0.000000 2.000000
x11 0.000000 2.000000
x12 0.000000 0.1050611e+09
row slack or surplus dual price
1 112550.5 -1.000000
2 0.000000 3.000000
3 0.000000 5.438348
4 1.300000 0.000000
5 183.5500 0.000000
6 0.000000 -215.0000
7 0.000000 -217.0000
8 0.000000 -40.97349
如何用matlab求有限制條件的目標函式的最小值求解一個優化問題(目標函式非線性,約束函式線性)?
3樓:匿名使用者
x(1) = -4.0301e+016 x11x(2) = -5.3913e+016 x12x(3) = -4.
4068e+016 x13x(4)= -4.5546e+016 x14x(5) = -4.5676e+016 x21x(6)= -4.
9899e+016 x22x(7) = -4.7096e+016 x23x(8) = -5.1703e+016 x24x(9) = -4.
1011e+016 x31x(10)= -5.6188e+016 x32x(11) = -4.5560e+016 x33x(12) = -4.
8603e+016 x34x(13)= -3.9511e+016 x41x(14) = -5.5470e+016 x42x(15)= -4.
4843e+016 x43x(16) = -4.4756e+016 x44
4樓:匿名使用者
lingo是處理最優化問題的最好方法。。。
5樓:匿名使用者
為啥不用lingo?
如何用matlab求解非線性約束優化問題
6樓:晚霞滿天
方法/步驟
此題的問題描如下圖。由於本經驗主要是談非線性約束下的最優化問題,對於其他線性約束就不再考慮。
然後啟動matlab。新建一個函式檔案,用來寫目標函式。
在編輯器視窗中寫入我們要求的目標函式,並儲存,注意使函式名與檔名相同。
然後再新建一個函式檔案,用來編寫非線性約束條件。步驟及其注意事項同上。額外需要注意的是,需要將兩個函式檔案放在同一個資料夾中。
最後,在命令列視窗處寫入fmincon命令。此處需要注意的是,對於沒有的線性約束條件的位置藥用空矩陣代替,並且初始條件需要滿足非線性約束條件(本例中寫的是[1,2])。
敲下鍵盤上的enter建,結果得出。可以發現exitflag=1是大於0的,所以結果正確。
用matlab進行臥室儲罐的結構優化目標函式是非線性,約束條件有非線性的,有不等式,有等式
7樓:匿名使用者
求解非線性的結構優化問題,可以按下列步驟來進行:
1、確定結構優化目標函式,是最大值還是最小值
2、根
據非約束條件
(不等式)
和約束條件(等式),確定結構優化約束函式
3、確定變數的初值(有必要時,需要調整)
4、用fmincon()函式求得,其最優解
5、對最優解進行驗證,是否符合不等式條件和等式條件。如滿足,則求解成功。
matlab 向凸優化非線性約束函式傳遞引數 fmincon 20
8樓:山水阿銳
您好,un為目標函式,它可用前面的方法定義;
x0為初始值;
a、b滿足線性不等式約束 ,若沒有不等式約束,則取a=[ ],b=[ ];
aeq、beq滿足等式約束 ,若沒有,則取aeq=[ ],beq=[ ];
lb、ub滿足 ,若沒有界,可設lb=[ ],ub=[ ];
nonlcon的作用是通過接受的向量x來計算非線性不等約束 和等式約束 分別在x處的估計c和ceq,通過指定函式柄來使用,如:>>x = fmincon(@myfun,x0,a,b,aeq,beq,lb,ub,@mycon),先建立非線性約束函式,並儲存為mycon.m:
function [c,ceq] = mycon(x)
c = …
% 計算x處的非線性不等約束 的函式值。
ceq = …
% 計算x處的非線性等式約束 的函式值。
lambda是lagrange乘子,它體現哪一個約束有效。
output輸出優化資訊;
grad表示目標函式在x處的梯度;
hessian表示目標函式在x處的hessiab值。
注意:1. fmincon 函式提供了大型優化演算法和中型優化演算法。
預設時,若在 fun 函式中提供了梯度(options 引數的 geadobj 設定為 'on'),並且只有上下界存在或只有等式約束,fmincon 函式將選擇大型演算法。 當既有等式約束又有梯度約束時,使用中型演算法。
2. fmincon 函式的中型演算法一般是使用序列二次規劃。在每一步迭代中求解二次規劃子問題,並用 bfgs 法更新 lagrangian 乘子和 hessian 矩陣。
3. fmincon 函式的大型演算法採用了subspace trust region 優化演算法。這種演算法是把目標函式在點x的鄰域泰勒(x可以認為是人為提供的初始猜測),這個的鄰域就是所謂的trust region,泰勒進行到二階項為止。
4. fmincon 函式可能會給出區域性最優解,這與初始值的選取有關。
matlab中多目標線性規劃函式如何使用
9樓:教學實驗講義
[x,fval,attainfactor] =fgoalattain(fun,x0,goal,weight,a,b,aeq,beq,lb,ub,nonlcon)
x:最優解
fval:每個目標
bai函式du最zhi優值
attainfactor:超出或未到dao目標的 量
fun:目標 函式,由於版
是多目標函式,所權以這是一個 向量
x0,自變數的 初始值
goal:目標,是個向量
weight:各個 目標 的權重
下面三個同線性優化一樣
用lingo或者matlab求解目標規劃,寫出對應程式
你漏掉一個條件了吧,專p1 p2 p3 1 0 pi 1 min p1 d1 p2 d2 d3 d4 d5 p3 d60 d70 d80 5 x1 3 x2 10 x4 d10 d1 70 x1 d20 d2 2 x1 x2 d30 d3 2 x2 x3 d40 d4 5 x3 x4 d50 d5 ...
用matlab遺傳演算法解決函式優化問題
matlab 中的fimincon函式優化 matlab遺傳演算法優化問題中,非線性等式約束怎麼新增啊?建立約束條件函式,把非線性的等式約束條件新增加在 c,ceq 中。如function c,ceq noncon x c x 1 2 x 2 2 9 ceq 然後,再用ga 函式呼叫,如 x,fva...
matlab運算優化的問題
3全部你獲取分割影象的方法有錯。改正如下 rgb imread t6ffff.bmp rgb double rgb x1 rgb 1 x2 rgb 2 x3 rgb 3 l x1 255 z1 x1 l z2 x2 l z3 x3 l d 0.299 z1 0.587 z2 0.114 z3 rgb...