MS Solver Foundation:将对象的属性添加到模型中



我是优化编程的新手。

我想为RPG写一个角色计算器。

简化概述:一个角色有可以分配给HP、dmg和def的statPoints。这三个中的每一个点都会使statPoints减少一个。它可以戴不同种类的手套和短裤。那些衣服可以有设定效果。

我现在想最大限度地利用不同的东西,比如HP或def.

虽然只为statPoints编写模型很容易,但我不知道如何包含Clothings。

生命值=(基本生命值+装备生命值)(1+%HP/100)(1+1tatPoints*0.0058)+奖金;

将是HP状态的公式。

我只使用statPoints或Bonuses计算HP没有问题,但我不知道如何从Clothings应用HP,%HP。

示例:手套1:hp:100,def:50;手套2:hp:88,def:61;。。。。其他衣服也是如此。还有一些设置效果,如:手套1+短裤2:hp:30;

表示gearHP=手套1.hp+短打2.hp+可能的SetEffect;

所以我的问题是:如果我有一个带有不同衣服的对象列表,如何将它们正确添加到我的模型中?

顺便说一句:目前我有一个"装备"类,它保存着衣服的信息,比如生命值、Def、伤害,还有一个类,它只保存着衣服属于它的信息,以及它提供的设定效果。我认为它正朝着这个方向发展:https://msdn.microsoft.com/en-us/library/ff847512%28v=vs.93%29.aspx,但这似乎是一种与我完全不同的方法。

1)为每件衣服定义一个二进制变量

2) 为每个"SetEffect"定义一个二进制变量

3) 使用线性约束来确保SetEffect变量在所有需要的衣服都配备时只有一个

4) 然后,您的目标函数是服装效果*服装变量和SetEffects*设置变量+统计的总和

最新更新