matlab 求解二次規劃,Matlab求解二次規劃問題

2021-05-18 16:55:18 字數 3906 閱讀 1493

1樓:匿名使用者

lingo的確可以解二次規劃,如果想讓某變數x只能取值0-1的話,用@bin(x)即可

我寫個最簡單的例子

--------------------------------

min x1^2+3*x2-x3+4*x^2

s.t. x1+x2-x3-x4>0

x1*x2=-6

x1>3

x2∈r

x3>=0

x4∈-----------------------------------

lingo程式的寫法(最簡單的寫法)

-----------------------------------

model:

min=x1^2+3*x2-x3-4*x4^2;

x1+x2-x3-x4>0;

x1*x2=-6;

x1>3;

@free(x2);! 感嘆號後面的是說明語句。lingo預設變數均為非負的。free表示該變數無約束範圍。

@bin(x4);!bin表示該變數為0-1變數。

end------------------------------------

執行後即可得到解答。

關於lingo更進一步的用法請參閱相關教程,這裡從略。

2樓:匿名使用者

是整數規劃?

lingo不是解線性規劃的麼?

能把問題說的清楚些麼?

matlab有個最優化工具箱(optimization tools),裡面有個單獨解二次規劃的模組。

二次規劃是np-hard問題,一般來講,變數超過一定尺度(14個)就不能在有限的時間內解決了。

matlab求解二次規劃問題 5

3樓:匿名使用者

題主給出的用matlab求解二次規劃問題,執行結果總是求lambda負無窮大,x,y近於零。分析和執行題主的**,其根本的錯誤是缺少lambda變數的下限值,應該為vlb=[0;0;0];再一個問題沒有利用x+y=7的等式條件,應該可以這樣來補充,aeq=[1,1,0];beq=[7];

糾正上述錯誤,後執行可以得到如下的解。

k1 = 3.0071 %x

k2 = 3.9929 %y

k3 = 0.995 %λ

fval = -13.016

matlab二次規劃問題

4樓:兔子和小強

這個優化目標不是二次型、約束也不是線性約束,無法用quadprog求解,可以考慮用fmincon來解。

新建個mycon.m檔案,裡面的內容是:

function [c, ceq] = mycon(x)

u = [3.6 0.8 28 8.3 8.3 3.9 5.5]';

l = [2.6 0.7 17 7.3 7.3 2.9 5.0]';

% 25個不等式約束

c = [27 - x(1)*x(2)^2*x(3);

397.5 - x(1)*x(2)^2*x(3)^2;

1.93*x(4)^3 - x(2)*x(3)*x(6)^4;

1.93*x(5)^3 - x(2)*x(3)*x(7)^4;

sqrt((745*x(4)/x(2)/x(3))^2 + 16.9e6) - 110*x(6)^3;

sqrt((745*x(5)/x(2)/x(3))^2 + 157.5e6) - 85*x(7)^3;

x(2)*x(3) - 40;

x(1) - 12*x(2);

5*x(2) - x(1);

x - u;

l - x;

1.5*x(6)+1.9 - x(4);

1.1*x(7)+1.9 - x(5)];

% 等式約束

ceq = ;

end呼叫的程式是:

%% 最優化目標函式f

f = @(x)0.7854*x(1)*x(2)^2*(3.3333*x(3)^2+14.

9334*x(3)-43.0934)-1.508*x(1)*(x(6)^2+x(7)^2) + 7.

477*(x(6)^3+x(7)^3)+0.7854*(x(4)*x(6)^2+x(5)*x(7)^2);

x = fmincon(f, ones(7,1), ,,,,,, @mycon, optimset('display', 'off'))

f(x)

解出來的值與你的最終答案基本一樣,除了x(5)=7.7以外。

你所貼的最終答案是錯的,如果x(5) = 7.3,那麼g25約束無法滿足。

5樓:匿名使用者

約束條件非線性,quadprog做不了吧

這些啥意思? g8(x) ----- : g9(x)

急求一份用matlab求解二次規劃問題的**。

6樓:匿名使用者

max f (x1, x2)=x1x2+3sub.to x1+x2-2=0

解:化成標準形式:

sub.to x1+x2=2

在matlab中實現如下:

>>h=[0,-1;-1,0];

>>f=[0;0];

>>aeq=[1 1];

>>b=2;

>>[x,fval,exitflag,output,lambda] = quadprog(h,f,[ ],[ ],aeq,b)

結果為:

x =1.0000

1.0000

fval =

-1.0000

exitflag =

1output =

firstorderopt: 0

iterations: 1

cgiterations: 1

algorithm: [1x58 char]lambda =

eqlin: 1.0000

ineqlin: [ ]

lower: [ ]

upper: [ ]

7樓:雨飛龍在天

matlab函式庫有二次規劃函式quadprog

可以直接呼叫來求解二次規劃問題,在matlab可以用help+quadprog來檢視該函式的用法。

根據你的問題的引數,呼叫的格式不同。

請大神幫忙用matlab解一下二次規劃問題,謝謝

8樓:我行我素

可這樣:

f=@(x)-702.5*x(1)*x(2)-750*x(1)*x(4)-625*x(2)*x(3)-350*x(2)*x(4);

a=[700,450,0,0;0,0,762.5,525];b=[200;150];

aeq=[1,1,0,0;0,0,1,1];beq=[1;1];lb=zeros(4,1);[x,f]=fmincon(f,ones(4,1)*0.5,a,b,aeq,beq,lb)

結果是:

x =0.1392

0.8608

0.0000

1.0000

f =-489.8553

也就是,x1=0.1392,x2=0.8608,y1=0,y2=1,maxf=489.8553

matlab求解二次規劃問題sedumi與quadprog結果不同

9樓:匿名使用者

不同的工具箱,結果是不同的,其中有很多取捨。你就用sedumi吧,比matlab自帶的好一些

用matlab求解凸二次規劃問題

10樓:無與a侖比

凸二次規劃。也可以用fmincon函式,你寫了你的**,還沒寫你的問題~

二次規劃與非線性規劃的區別,二次規劃與非線性規劃的區別

二次規劃肯定是非線性規劃!反之就不對了。你把線性規劃的定義弄出來一看 包含與被包含的關係。二次規劃是非線性的,非線性包含所有非線性的規劃。非線性規劃與線性規劃有什麼區別嗎?非線性規劃是具有非線性約束條件或目標函式的數學規劃,是運籌學的一個重要分支。非線性規劃是20世紀50年代才開始形成的一門新興學科...

如何用MATLAB求解0 1整數規劃

用lingo,好用,專門做優化的,比matlab好用,matlab得到的可能不是全域性最優解。如何用matlab求解0 1規劃問題 20 你是數學建模的吧,我也在愁這個問題。matlab程式設計 0 1規劃問題 向高手求程式 建立數學模型。設xi 1表示ai被選中,xi 0表示ai沒被選中。則數學模...

求解以下一元二次方程的題目,求解一元二次方程有4種解法例題

1.x 2 6.25 x 2 6.25 x 2.52.x x 3 2 9,x 3 x 2 3x 18 0 x 6 舍負 3.100 2x 80 2x 48004x 2 360x 3200 0,0 邊長10 1.3.14x 2 6.25 x 2 6.25 3.14 1.99 x 1.41 2.x x ...