0
我要解決在MATLAB以下優化問題:L1範數最小化與Gurobi
Min sum(abs(x))
s.t. A*x = 0,
lb <= x <= ub
其中x是一個緻密的矢量,A是稀疏矩陣,LB和UB是真實的下部和上部界限分別。
使用函數linprog()或LP求解器Gurobi可能會很方便。
你知道如何制定這個問題嗎?
感謝
我要解決在MATLAB以下優化問題:L1範數最小化與Gurobi
Min sum(abs(x))
s.t. A*x = 0,
lb <= x <= ub
其中x是一個緻密的矢量,A是稀疏矩陣,LB和UB是真實的下部和上部界限分別。
使用函數linprog()或LP求解器Gurobi可能會很方便。
你知道如何制定這個問題嗎?
感謝
目標minimize sum(abs(x))
可以翻譯成:
minimize sum(u)
-u_i <= x_i <= u_i
dim(x) == dim(u)
)
鈍地指出。不過,我很難將其轉換爲代碼。當我得到它時我會回覆你。 –
最後,我用你的輸入解決了這個問題,使用MATLAB的cvx工具箱和LP求解器gurobi 'cvx_begin cvx_solver gurobi 變量s(n); 變量x(n) 最小化sum(s); 受 A * x == 0; lb <= x <= ub; -s <= x <= s; cvx_end' –
@GeorgeC如果你使用cvx,那麼你不需要我的重新配置,因爲l1/sum_abs已經在這個庫中可用! [見這裏](http://cvxr.com/cvx/doc/funcref.html)(規範函數非常一般)。但如果我的答案有幫助,請考慮接受或提升它。 – sascha