[問題] 最佳化toolbox已回收
在一個集合裡 找到某些元素的組合 其總和符合預設的最大值
因為要實驗的集合 裡面的元素相當多 所以想用matlab裡的fmincon當工具
在用一個小例子做練習 便遇到問題了
例如 集合有{1, 2, 3, 7, 5, 4} MAX=10
總和為10的組合有{1,2,7} {3,7} {2,3,5} {1,2,3,4} {1,4,5}
取到任何一組即可
我的想法是 設六個變數 其值不是0就是1
1*x(1)+2*x(2)+3*x(3)+7*x(4)+5*x(5)+4*x(6)=10
希望求得 由六個0和1組成的解
以下是用到的m-file
function y=test(x)
y=-1*x(1)-2*x(2)-3*x(3)-7*x(4)-5*x(5)-4*x(6);
function [c,ceq]=test_c(x)
c=[];
ceq=[x(1)^2-x(1);
x(2)^2-x(2);
x(3)^2-x(3);
x(4)^2-x(4);
x(5)^2-x(5);
x(6)^2-x(6)]; %每個變數的值只能是0或1
想請問各位
邏輯上看起來沒有錯誤 但在tool上卻跑不出答案
這是為什麼?
或是 由於我剛接觸 使用錯誤嗎?
或是 在matlab有什麼方法求這種的0和1限制的整數解?
非常歡迎各位指教 先謝謝大家了 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.82.45
→
06/18 21:09, , 1F
06/18 21:09, 1F
※ 編輯: haluko 來自: 140.116.82.45 (06/18 21:14)
推
06/19 00:23, , 2F
06/19 00:23, 2F
推
06/22 13:23, , 3F
06/22 13:23, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章