Re: [問題] 跪求此問題的矩陣..已回收

看板MATLAB作者 (所指千歌音之處)時間16年前 (2009/06/27 11:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
※ 引述《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)
文章代碼(AID): #1AHPSjVz (MATLAB)
文章代碼(AID): #1AHPSjVz (MATLAB)