方庆林的个人博客分享 http://blog.sciencenet.cn/u/sxyaxy

博文

单机任务调度模型简化

已有 4608 次阅读 2011-6-22 18:34 |个人分类:兴趣研究|系统分类:生活其它

以上模型引入了0-1变量,程序解算如下,

问题1

model:

    sets:

    task/1..7/:G,ts,tp,tc,C;!集合/成员(属性下标示)/属性;

    var01/1..21/:u;

    endsets

    data:

    G=2 5 4 0 0 8 9;

    tp=5 6 8 4 2 4 2;

    C=10 21 15 10 5 15 22;

    enddata

    min=@smax(tc(1),tc(2),tc(3),tc(4),tc(5),tc(6),tc(7));!目标函数一;

    @for(task(i):ts(i)>=G(i));

    @for(task(i):tc(i)=ts(i)+tp(i));

    @for(task(i):@for(task(j)|j #gt# i:u*(ts(j)-tc(i))+(1-u)*(ts(i)-tc(j))>0));

    @for(var01:@bin(u));

End

问题2

model:

    sets:

    task/1..7/:G,ts,tp,tc,C;!集合/成员(属性下标示)/属性;

    var01/1..21/:u;

    endsets

    data:

    G=2 5 4 0 0 8 9;

    tp=5 6 8 4 2 4 2;

    C=10 21 15 10 5 15 22;

    enddata

    min=@sum(task(i):(tc(i)-G(i))/7);!目标函数二;

    @for(task(i):ts(i)>=G(i));

    @for(task(i):tc(i)=ts(i)+tp(i));

    @for(task(i):@for(task(j)|j #gt# i:u*(ts(j)-tc(i))+(1-u)*(ts(i)-tc(j))>0));

    @for(var01:@bin(u));

End

问题3

model:

    sets:

    task/1..7/:G,ts,tp,tc,C;!集合/成员(属性下标示)/属性;

    var01/1..21/:u;

    endsets

    data:

    G=2 5 4 0 0 8 9;

    tp=5 6 8 4 2 4 2;

    C=10 21 15 10 5 15 22;

    enddata

    min=1/2*@sum(task(i):@abs(tc(i)-C(i))+tc(i)-C(i));!目标函数三;

    @for(task(i):ts(i)>=G(i));

    @for(task(i):tc(i)=ts(i)+tp(i));

    @for(task(i):@for(task(j)|j #gt# i:u*(ts(j)-tc(i))+(1-u)*(ts(i)-tc(j))>0));

    @for(var01:@bin(u));

    !for中嵌套for

End

结果和上次一模一样,不再多写。(注意,最后一个结果先前的是32,这次是34,本人也在分析原因)

原因:

    Lingo软件不可靠,对于一些复杂的嵌套和变量的限定支持的力度不够,由此,也可以看到美国教授研发的力度还不够智能,所以,在计算方面不能仅依靠国外的软件,尤其是复杂性分析方面。

 



https://blog.sciencenet.cn/blog-586485-458092.html

上一篇:扫描探测器尺寸与地面分辨率几何分析
下一篇:非线性灰度变换模型推导
收藏 IP: 115.156.92.*| 热度|

1 杨华磊

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 19:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部