纸浆lp可作为约束条件的索引

时间:2018-01-26 09:08:37

标签: indexing scheduling linear-programming linear pulp

我目前正在努力解决体育联盟排程问题,因为我希望尽量减少所有球队的总距离。我已经写下了我的约束并开始实施了,虽然我的日程安排工作正常,但当我努力减少总距离时,我遇到了问题。

我已经将y [i,r]定义为团队i在第r轮中的对手,并且z [i,r]为1 iff团队我在第r轮中在主场比赛,否则为0。

现在我试图定义一个新变量c [i,r],它将代表团队在第r轮之后所经过的距离。

因此,我需要看看3个案例,但这里只会显示一个案例:团队我在圆形r的家中,在圆形的r + 1中,写成(z [i,r] -z [i,r] 1])。

这个c [i,r] =(z [i,r] -z [i,r + 1])* d [i] [y [i,r + 1] .varValue]

问题在于,在约束的定义中,y [i,r]对于所有i,r都是None。因此,我得到一个错误,我很难理解如何使用lpVarible作为索引来获得行进的距离。

有人试过吗?我可以用这种方式使用lpVariable吗?或者我是否需要通过添加额外的一个或两个循环来规避这个?谢谢!

public class Loader
{
    private IReports _devxReport;
    private XtraReport _report;

    public void LoadReport(string resourceName, string className)
    {

        if (string.IsNullOrEmpty(resourceName))
            throw new ArgumentNullException(nameof(resourceName));
        if (string.IsNullOrEmpty(className))
            throw new ArgumentNullException(nameof(className));
        var asm = Assembly.Load(File.ReadAllBytes(resourceName));//resourceName);
        _devxReport = (IReports)asm.CreateInstance(className);               
    }

    public void CreateReport(DataSet ds)
    {
        if (ds == null)
            throw new ArgumentNullException(nameof(ds));
        _report = _devxReport.getReport(ds);
    }
}

模型+ = c [i,r]> =(z [i,r] - z [i,r + 1])* d [i] [y [i,r + 1] .varValue] TypeError:list indices必须是整数或切片,而不是NoneType

错误对我来说非常有意义,我只是不知道该怎么回事。

ps:48小时前开始使用纸浆。

0 个答案:

没有答案