Re: [問題] 跪求此問題的矩陣..已回收
※ 引述《yenger ()》之銘言:
: ※ 引述《yehliuk (菜鳥帕克)》之銘言:
: : 是不是應該要先從有沒有解來判斷比較好?
: : 5*10的矩陣,如果只要一個解,我心裡就會想說那試試看
: : [ 1 1 1 1 1 0 0 0 0 0;
: : 1 1 1 1 1 0 0 0 0 0;
: : 1 1 1 1 1 0 0 0 0 0;
: : 0 0 0 0 0 1 1 1 1 1;
: : 0 0 0 0 0 1 1 1 1 1;]
: : 可是寫到最後發現,哇? 好像沒有解。根據題目給的限制,
: : 是不是行數目一定要是5*N, 列數目一定要是3*N才有解?
: 你說的沒有錯..
: 我是想簡化題目 所以整個弄出錯的條件
: 原本的題目應該是
: 矩陣為100*1000
: 然後row的和為30
: column的和為3
: 也就是比例要相等 我忘了= =
: 只是我還是沒想出來orz..
在等比例狀況下:
你的問題直接可以簡化成100x100的矩陣,行列和各為3。
你直接弄個對角矩陣出來,且對角線的寬度為3,並再左下跟右上補1就是基本答案。
然後你在複製10次並排這些矩陣,就是100x1000的大小,和就是3與30。
我所說的最佳化,首先你得先將抽象的題目轉化成目標函數。如果是我的話,將各col.
視為設計變數,再將每個col.和為3的組合視為該設計變數可有的離散值,在加上row
和不為3時的懲罰條件,就可以用最佳化下去作。反正你只要一組,若確定有可行解,
可用GA, PSO, ACO, DE...等等的全域離散最佳化方法,雖不能保證每次所求之解可用
,但多執行幾次總是會有機會出現答案的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.60.193
※ 編輯: Semisphere 來自: 140.115.60.193 (06/27 12:07)
※ 編輯: Semisphere 來自: 140.115.60.193 (06/27 12:09)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 7 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章