Re: [問題] nloptr initial value 如何放矩陣?

作者: s1001326 (gg)   2016-06-13 23:02:41
※ 引述《s1001326 (gg)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
: [問題敘述]:
: 我想用R的nloptr中的package解決一個非線性規劃的問題,欲解的變數為x1~x5,以上均
: 為矩陣,因為nloptr必須給一個x0當作起始解,但是範例中的x0所給的值為向量,不知道
: 如何塞矩陣進去且x1~x5的各別長度不相等,上網找相關的資源也沒有收尋到類似的問題,謝謝各位大大的幫忙
: [程式範例]:
: eval_f <- function(x) {
: return( "objective"=x[1]%*%x[1])
: }
: eval_g_ineq <- function(x) {
: constr <- rbind(x2,x3,x4)
: }
: evql_g_eq <- function(x){
: constr <- x2%*%x3
: x3%*%x4
: }
: x0 <- ?
: 僅列出概念的程式碼,不知道如何塞矩陣到x0初始值以內,且各個矩陣的長度皆不相等,
: 此問題已困擾多時,請各位大大指點迷津Q_Q
這是修改前的程式碼
http://ideone.com/6xg9gI
這是修改後的code
http://ideone.com/WzXjyk
聽完C大說的 把x0變成一個向量 且在function裡面設定矩陣
不知道是不是這個意思 trd為一個excel檔
但是跑出以下錯誤
Error in trd%*% x3 : non-confortable arguments
不知道是不是因為要在 限制式裡面打多個限制式的程式碼打錯
上網查是用rbind去解決多個限制式 但還是有錯誤
因此不知道錯誤是在rbind的程式碼 還是初始值x0連成一個向量 在裡面設定成矩陣的
上面出現錯誤? 先謝謝C大的幫忙!非常感謝
作者: celestialgod (天)   2016-06-13 23:03:00
明天有空幫你看一下QQ...
作者: s1001326 (gg)   2016-06-14 00:35:00
感激不盡c大的付出!辛苦c大了麻煩你了 很不好意思
作者: celestialgod (天)   2016-06-14 19:25:00
請給我trd, Price, Market.Share的維度
作者: s1001326 (gg)   2016-06-14 22:39:00
trd 11893列 23行 Price 11893列 1 行 Market.Share 11893列 1行 若需要資料可以私信給你 麻煩了qq

Links booklink

Contact Us: admin [ a t ] ucptt.com