【问题标题】:Minimize cost in R最小化 R 中的成本
【发布时间】:2020-06-01 06:26:24
【问题描述】:

我想最小化以下功能

cost=function(x){
  events=sum(x==1)
  rev = sum(df$rev[which(x==0)])*0.8

  costcomp1=tail(comp1$cost[which(comp1$Nevents<events)],1)

  costcomp2=tail(comp2$percentuale[which(comp2$k<=rev)],1)*rev+50000

  cost=costcomp1+costcomp2

  return(cost)
}

x 应该是一个二元向量,因为对于每件商品我都想选择要购买的供应商

head(comp2)
        k percentuale
1  800000      0.0500
2 1800000      0.0325
3 88888888888888      0.0200

head(comp1)
       Nevents  cost
1         1500 13000
2         1750 17000
3         2000 21000
4         2500 22500
5         3000 26000
6         3500 29000

我试过optimize(cost,x),x=sample(c(0,1),nrow(df),replace = T),但它不起作用。它给了我错误invalid function value in 'optimize'

【问题讨论】:

  • optim(cost, x) 怎么样?这篇文章看起来和你想要的差不多:stackoverflow.com/questions/17013612/….
  • Error in optim(cost, x) : cannot coerce type 'closure' to vector of type 'double' Inoltre: Warning message: In optim(cost, x) : one-dimensional optimization by Nelder-Mead is unreliable: use "Brent" or optimize() directly

标签: r optimization minimize minimization


【解决方案1】:

我想你需要的可能是fminsearch

pracma::fminsearch

你可以试试

pracma::fminsearch(cost,rep(0,nrow(df)))$fmin

【讨论】:

    猜你喜欢
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    相关资源
    最近更新 更多