[問題] 最佳化toolbox已回收

看板MATLAB作者 (想你一切都好)時間16年前 (2009/06/18 21:09), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
在一個集合裡 找到某些元素的組合 其總和符合預設的最大值 因為要實驗的集合 裡面的元素相當多 所以想用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
我跟上一篇作者一樣 實驗做不出來 應該也畢不了業了 Orz
06/18 21:09, 1F
※ 編輯: haluko 來自: 140.116.82.45 (06/18 21:14)

06/19 00:23, , 2F
那大家都不要畢業跟我一樣唸碩三好了.......XD
06/19 00:23, 2F

06/22 13:23, , 3F
y=(1*x(1)+2*x(2)+3*x(3)+7*x(4)+5*x(5)+4*x(6)-10)^2 ?
06/22 13:23, 3F
文章代碼(AID): #1AEZnmaa (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1AEZnmaa (MATLAB)