我有一個簡單的(確實是經濟學中的標準)非線性約束離散在R中解決最大化問題並且遇到了麻煩。我發現問題的解決方案部分(非線性最大化;離散最大化),但不是所有問題的聯合。R中的非線性離散優化
這是問題所在。消費者想購買三種產品(鳳梨,香蕉,曲奇),瞭解價格並且有20歐元的預算。他喜歡多種多樣(即如果可能的話,他希望擁有所有三種產品),並且他的滿意度在消費量上下降(他喜歡他的第一個餅乾方式超過他的第100個)。
他希望發揮最大的功用是
當然,因爲每個人都有一個價格,他有一個預算有限,他的約束下最大化這個功能
我想要做的是找到滿足約束條件的最佳購買清單(N ananas,M香蕉,K cookies)。
如果問題是線性的,我會簡單地使用linprog :: solveLP()。但目標函數是非線性的。 如果問題具有連續性,那麼它就是一個簡單的分析解決方案。
問題是離散的和非線性的,我不知道如何繼續。
這裏有一些玩具數據可以玩。
df <- data.frame(rbind(c("ananas",2.17),c("banana",0.75),c("cookie",1.34)))
names(df) <- c("product","price")
我想要一個優化程序,給我一個最佳購買清單(N,M,K)。
任何提示?
從本質上講,你需要的是一個非線性的,不等式約束,離散優化,這我不相信它存在於R(還) 。您可以使用'Rsolnp'來提供除了離散情況以外的所有內容,然後測試所有估計值向上舍入和向下的組合。如果參數太多,則可以通過取整向下的值來妥協。在大多數情況下,它仍然是一個可接受的解決方案 – LyzandeR