QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 24787|回复: 20
打印 上一主题 下一主题

【讨论】新手求助:关于lingo的wrap函数

[复制链接]
字体大小: 正常 放大
guarguar        

1

主题

4

听众

29

积分

升级  25.26%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2009-4-22 11:37 |只看该作者 |正序浏览
|招呼Ta 关注Ta
本帖最后由 厚积薄发 于 2010-1-26 21:10 编辑
1 T6 ]2 G+ @( @& l- U# G
. `$ ~% o# p6 _. S7 T" W/ A看到一个题:# k) D9 I* p6 z. D2 V; S  p3 |6 B% S
职员时序安排模型  1 O# c* Q/ O9 c9 A1 n9 }
一项工作一周 7 天都需要有人(比如**工作) ,每天(周一至周日)所需的最少职员数为 20、16、13、16、19、14 和 12,并要求每个职员一周连续工作 5 天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。 5 N# ~( V: _  x  I% E4 m9 T
model: & z6 y$ `& U: j
sets:
% e2 c2 E" w  T2 L% A$ }! J. c9 _  days/mon..sun/: required,start;
, C2 d( Y3 m0 ~9 r" [' Mendsets ) W6 b, u8 f" a4 l
data: % Z4 l$ z. E) l' b! G3 M( N, j
  !每天所需的最少职员数;
+ c7 y1 h9 ]; F2 T( r* u5 a  required = 20 16 13 16 19 14 12;  
0 L( Z. E/ k$ |" X$ ienddata 7 v% @) ]5 g. x) Y
!最小化每周所需职员数; " H6 a/ L1 j8 t( y+ k3 {& Z2 r
  min=@sum(days: start);
( e% Q4 l  d' N$ ?  @for(days(J):
# s1 r  s. k8 L" D$ K    @sum(days(I) | I #le# 5:
$ T. f7 L. Z* ~( m! H; w      start(@wrap(J+I+2,7))) >= required(J)); 2 ]/ y! m/ o2 d4 {% P# K2 Z& [, ^
end/ }% x2 W" |* O- h* J0 z( u
3 S5 k1 X  J  }% X
其中@sum(days(I) | I #le# 5:
, y: c& j* j, F# R( a7 f9 u      start(@wrap(J+I+2,7))) >= required(J)); 是什么意思啊?我知道比如周一要排的人要从上个周四算起,但是不知道wrap中J+I+2和7各代表什么意思啊?还有这个函数怎么用啊?
* D- Y4 R/ l0 q$ n* s请各位帮忙,谢谢了!
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
enqi999        

0

主题

12

听众

74

积分

升级  72.63%

  • TA的每日心情
    奋斗
    2015-1-5 18:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    社区QQ达人

    回复

    使用道具 举报

    dirk190        

    4

    主题

    11

    听众

    41

    积分

    升级  37.89%

  • TA的每日心情
    奋斗
    2014-9-24 22:31
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    自我介绍
    在校学生
    追梦者 发表于 2009-8-13 10:27 + V  n3 b! w- u. ?( T) |- B. t7 Y
    小弟与上面这位仁兄的理解稍有不同,英美中星期表示与我们不同,我们将星期一看成第一天,而他们则是将星 ...

    ' T  M7 e7 u" R( H/ [换成1到7 结果相同的
    回复

    使用道具 举报

    9

    主题

    7

    听众

    188

    积分

    升级  44%

  • TA的每日心情
    慵懒
    2013-8-23 15:15
  • 签到天数: 84 天

    [LV.6]常住居民II

    自我介绍
    我想参加明年的数模竞赛

    群组西安交大数学建模

    群组数学建摸协会

    群组英语科技论文写作实训

    追梦者 发表于 2009-8-13 10:27
    ! @# U7 j" m! `! {) D小弟与上面这位仁兄的理解稍有不同,英美中星期表示与我们不同,我们将星期一看成第一天,而他们则是将星 ...
    ( q" Y, Z0 X0 Y  p8 h2 d+ [
    我也觉得不用+1啊,
    回复

    使用道具 举报

    5

    主题

    4

    听众

    127

    积分

    升级  13.5%

  • TA的每日心情
    擦汗
    2012-5-15 12:46
  • 签到天数: 34 天

    [LV.5]常住居民I

    自我介绍
    我想要参加数模竞赛,希望大家多多交流
    刘振 发表于 2011-8-12 20:01 4 a* i: k3 f' w( F
    model: ' H# o3 v1 O% H) d% j( M
    sets:
    : q: d& d$ p: y. xdays/mon..sun/: required,start;

    ( {9 i$ }& s* f+ Y- `( J' {0 N对一下做下调整,便于理解6 {7 J' V+ O/ P% e' _; ]5 s" N
    / u& v, w9 f4 o3 m+ n
    model:
    - [3 D3 h7 H6 }3 V# P6 \sets: : q  L. A1 w6 `6 d! Z5 R9 [1 D" V- }# R. `2 N8 S
    days/mon..sun/: required,start;
    / s( C& n  o1 x/ Q" w* Mendsets - h  W) ]$ D9 O5 I2 ~) H  K
    6 r" g7 X+ [+ V# ]6 ?2 Y data: + O5 o# ]% A' U; z, h# s+ p' R
    !每天所需的最少职员数; 5 l* n" j* s3 T7 H  F: E
    required = 20 16 13 16 19 14 12; ; }: G' I5 C3 z! F( \' p" b! P8 D9 v0 H/ q) D7 d
    enddata   ]- t4 R' b. j  e9 q% Z
    / z% R) Z3 B& W* X( t+ y$ X !最小化每周所需职员数; . z4 K' V6 u5 \9 I. X% C0 \& H
    + s9 P' k. f$ \3 I: P min=@sum(days: start);
    . W% D/ y7 T+ I$ Z1 F* U$ L* H3 U. v@for(days(J): ) E2 B& [/ S. a
        @sum(
    6 d9 w' J- s( I, s* ?$ T- Y* n- q             days(I) | I #le# 5: 2 @& ^. v$ w1 p3 ~$ F+ ^5 _1 ^
                 start(@wrap(J+I+2,7))  A" j2 i1 a, B# Y6 g) s! S; Y( X
                 ) >= required(J)); 7 P: `* C4 W. x* L5 g
    end
    % a9 q4 ]2 p/ t! n/ `
    - s5 Y6 \& U: Q$ ^2 ~6 d
    回复

    使用道具 举报

    ehi28        

    0

    主题

    4

    听众

    140

    积分

    升级  20%

    该用户从未签到

    回复

    使用道具 举报

    0

    主题

    4

    听众

    65

    积分

    升级  63.16%

    该用户从未签到

    回复

    使用道具 举报

    成城        

    0

    主题

    2

    听众

    120

    积分

    升级  10%

  • TA的每日心情
    郁闷
    2011-9-11 00:41
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    自我介绍
    没有最好只有更好
    回复

    使用道具 举报

    刘振        

    0

    主题

    2

    听众

    11

    积分

    升级  6.32%

  • TA的每日心情
    郁闷
    2011-9-9 20:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    回复

    使用道具 举报

    刘振        

    0

    主题

    2

    听众

    11

    积分

    升级  6.32%

  • TA的每日心情
    郁闷
    2011-9-9 20:51
  • 签到天数: 1 天

    [LV.1]初来乍到

    model: $ t: W5 J# ]* w8 f
    sets: 4 Z6 Q% `0 I; M+ ~. M! D0 ^
    days/mon..sun/: required,start;
    : Y4 U% K& T1 P9 n: B& J6 Wendsets ; W( {7 Y5 W( `1 H
    data:
    0 @& j4 z, A& V: ]" U. g+ i!每天所需的最少职员数; 4 l% _2 U" X2 ^8 {/ R
    required = 20 16 13 16 19 14 12; & k/ S+ e  ^6 `- G, h
    enddata % z# n3 P1 H3 _, u* A( P
    !最小化每周所需职员数;
    " D8 ]8 n0 X4 vmin=@sum(days: start);
    ' S+ H, d+ m+ r@for(days(J): # N- i0 C+ c  I5 L
        @sum(days(I) | I #le# 5:
    5 k/ ~( K) I  ^8 W8 K' p      start(@wrap(J+I+2,7))) >= required(J)); 4 J/ @2 y* T. ^! Q
    end- H$ h, O# E+ d5 `4 J
    ' S3 v6 f, E6 P$ M& w
    解释下:9 z: I3 A* O5 {; l
    @for(days(J):
    9 _6 I4 ]4 @) r/ c    @sum(days(I) | I #le# 5: 7 R! @2 Z7 p: m  f& `4 D7 @
          start(@wrap(J+I+2,7))) >= required(J));, H* Y- {5 b8 c2 ~0 ~& }8 p
    8 B; R" M: ?% }& ^' Q
    当day(J)为1时,day(I)=1,2,3,4,5.由于7为循环周期,故@warp(J+I+2)返回的值是4,5,6,7,1的职员和.当day(J)为2时,@warp(J+I+2)返回的值是5,6,7,1,2的职员和,以此类推。& T1 |8 p+ R% a: m; {0 q8 w

    7 w( w0 F) D4 ^9 k网上有一种说法是,英美中星期表示的不同,中国将星期一看成第一天,而国外则是将星期日看成第一天。在lingo中sun就表示第一天,用数字0标识。因此@wrap(index,limit)的用法就是index模limit再加1。将上面的程序中的集修改为
    2 B/ N$ U$ C; A" u& F3 j
    * A" @+ t+ Z+ c. R0 y' ]/ ~8 b+ q: p" W. E% D
    sets:
    3 k' s' n9 t6 u# I1 B  Tdays/1 2 3 4 5 6 0/: required,start;
    9 j$ v. k8 t$ `8 _6 w/ uendsets
    & k" P9 p6 A- W  l" ~
    ' q& c& \8 X0 @( i; P( ~7 @
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-21 16:58 , Processed in 0.467199 second(s), 104 queries .

    回顶部