首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Lingo的加权目标规划

基于Lingo的加权目标规划
EN

Stack Overflow用户
提问于 2017-07-05 18:30:01
回答 1查看 476关注 0票数 1

我有一个关于赋值问题的优化问题。我用加权目标规划算法(我介绍了一些偏差等)编写它,.I试图用Lingo来解决这个算法。不幸的是,每次我试图解决这个问题时,Lingo都会返回一些错误代码,比如Improper use of attribute name。这很奇怪,因为我很难定义算法中使用的所有参数。我的行话文件一份电子表格。此电子表格用作数据库。

行话码:

区块报价

代码语言:javascript
复制
SETS:
PLAGESHORAIRES:;
PATIENTS:zp;
AFFECTATION(PATIENTS,PLAGESHORAIRES):Yph,dph,qph,Aph;
DEVIATION_SET / 1 / : G;
ENDSETS

DATA:
PLAGESHORAIRES=@OLE();
PATIENTS=@OLE();
dph=@OLE();
qph=@OLE();
dmax=@OLE();
dmin=@OLE();
nb=@OLE();
wa=@OLE();
wb=@OLE();

@OLE()=Yph;
@OLE()=G;
@OLE()=Aph;
ENDDATA 

!OBJECTIF FUNCTION;
[OBJECTIF] MIN = wa*(1/6)*G + wb*(1/12)*@SUM(AFFECTATION(p,h):Aph(p,h));

!SUBJECT TO;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!AFFECTATION;
!HARD CONSTRAINTS;

@FOR(PLAGESHORAIRES(h):
    @SUM(PATIENTS(p):Yph(p,h))<=1
);

@FOR(PATIENTS(p):
    @SUM(PLAGESHORAIRES(h):Yph(p,h))<=1
);

!SOFT CONSTRAINTS;

@SUM(AFFECTATION(p,h):Yph(p,h))-G = nb; 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!DISTANCES ;
!HARD CONSTRAINTS;

@FOR(PATIENTS(p):
    @FOR(PLAGESHORAIRES(h):
        dph(p,h)*Yph(p,h)<=dmax
    )
);

!SOFT CONSTRAINTS;

@FOR(PATIENTS(p):
    @FOR(PLAGESHORAIRES(h):
        dph(p,h)*Yph(p,h)-Aph(p,h)=dmin
    )
);

@FOR(PATIENTS(p):
    @FOR(PLAGESHORAIRES(h):
        @BIN(Yph(p,h))
    )
);

@FOR(PATIENTS(p):
    @FOR(PLAGESHORAIRES(h):
        @BIN(qph(p,h))
    )
);

@FOR(PATIENTS(p):
    @FOR(PLAGESHORAIRES(h):
        @GIN(Aph(p,h))
    )
);

!RENVOI DANS EXCEL;
DATA :
@OLE()=OBJECTIF;
ENDDATA

非常感谢你的帮助。文森

EN

回答 1

Stack Overflow用户

发布于 2018-06-09 01:23:19

变量G被声明为集合的属性,也就是说,G是一个订阅变量,但是在

代码语言:javascript
复制
[OBJECTIF] MIN = wa*(1/6)*G + ...

它没有下标,所以您必须这样做:

代码语言:javascript
复制
[OBJECTIF] MIN = wa*(1/6)*G(1) + ...

有关进一步帮助,请与供应商www.lindo.com联系

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44933543

复制
相关文章

相似问题

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