首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R多整数线性规划中的约束

R多整数线性规划中的约束
EN

Stack Overflow用户
提问于 2014-10-01 20:41:04
回答 1查看 1K关注 0票数 1

我正在努力在R的一些代码,以优化我的幻想足球阵容,但我有一些困难,一个限制。我基本上有一个球员的名单,他们的位置,预期的分数,和成本。

名册必须包括:

1 QB 2 RB 2 WR 1 TE 1 FLEX ( RB,WR或TE)费用总额低于200美元

我的问题是,我的代码想要选择灵活的位置作为球员,它已经选择作为一个WR,RB或TE。下面是我使用的代码,我导入了一个表,其中包含了播放器、位置、点数和成本的列。在表中,任何RB、WR或TE都与该位置复制为FLEX。我试图将设置pos==" FLEX“的行更改为pos=="WR"||pos=="RB"||pos=="TE”,但这不起作用,我唯一的想法是运行代码,如果它复制了FLEX,我就从源表中删除它。不过,这有点痛苦。

任何想法都会受到极大的赞赏。

代码语言:javascript
复制
name <- mydata$name
pos <- mydata$pos
pts <- mydata$pts
cost <- mydata$cost

num.players <- length(name)

f <- pts

var.types <- rep("B", num.players)

A <- rbind(as.numeric(pos=="QB")
         , as.numeric(pos=="RB")
         , as.numeric(pos=="WR")
         , as.numeric(pos=="TE")
         , as.numeric(pos=="FLEX")
         ,cost)

dir <- c("=="
        ,"=="
        ,"=="
        ,"=="
        ,"=="
        ,"<=")

b <- c(1
     , 2
     , 2
     , 1
     , 1
     , 200)

library(Rglpk)

sol <- Rglpk_solve_LP(obj = f
                , mat = A
                , dir = dir
                , rhs = b
                , types = var.types
                , max=TRUE)
sol

name[sol$solution == 1]
EN

Stack Overflow用户

回答已采纳

发布于 2014-10-01 21:09:19

你可以重写:

代码语言:javascript
复制
1 QB 2 RB 2 WR 1 TE 1 FLEX (either a RB, WR, or TE) 

作为

代码语言:javascript
复制
num(QB) == 1
2 <= num(RB) <= 3
2 <= num(WR) <= 3
1 <= num(TE) <= 2
num(RB) + num(WR) + num(TE) == 6
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26150240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档