数学建模社区-数学中国

标题: 工人与工作按城市以及紧急度分配问题求教 [打印本页]

作者: pigjie    时间: 2014-1-24 12:37
标题: 工人与工作按城市以及紧急度分配问题求教
本帖最后由 pigjie 于 2014-1-26 08:55 编辑
  1. model:
  2. !3 个工人,41 个工作的分配问题;
  3. sets:
  4. workers/t1..t3/:x;
  5. jobs/o1..o41/:y;
  6. links(workers,jobs): carry;
  7. city/c1..c41/:z;
  8. urgent/u1..u41/:u;
  9. endsets
  10. data:
  11. x = 12 13 7;
  12. y = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;
  13. z = 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4;
  14. u = 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
  15. enddata
  16. !目标函数;
  17. max=@sum(links: carry);
  18. !每份工作只能有一个工人或者不接;
  19. @for(jobs(J):@sum(workers(I): carry(I,J))<=1);
  20. !每个工人的活不能超过工人可以接受的量;
  21. @for(workers(I):@sum(jobs(J): carry(I,J))<=x(I));

  22. @for(links:@gin(carry));

  23. end
复制代码
我现在有city集。我希望一个工人所接所有工作的城市不能超过2个。
并且urgent集内值为1的希望优先安排给工人。
各位大神帮帮忙了吧!!!



作者: 秋の名山で戦    时间: 2014-1-24 18:25
很好的帖子 谢谢分享




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5