V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
d5d
V2EX  ›  Python

求助:用 Python 安排监考--让科技来拯救一下手搓党

  •  
  •   d5d · 1 天前 · 1152 次点击
    故事是这样的。

    科技都发展到人工智能时代,半路出家干教务,还是在用手工排监考。常常叹息我们跟科技隔着一个世纪。

    想用 python 来安排监考。这应该是多约束条件下的找最优解的安排,企图用 AI 来写,一直没成功,特来求助。
    需求:根据监考员表中的个性要求进行考场安排,考场安排中监考人员数量根据烤肠设置表中数量进行安排。

    求大佬不吝赐码.

    目前手动解决方法:(有时需要 2 次才能排出监考表)
    1.先根据场次限制,制作出所有老师的监考次数。
    2.根据特殊要求先安排必监考科目和考场和不监考科目和考场的老师,逐个复制粘贴到监考表。
    单科目一个人不能重复出现。还需要考虑到能一天安排安排的就别分散安排。
    3.统计老师名单中所有老师在各科中出现的次数以及总的监考场次。然后手动逐一调整。

    相关文件我发 qq 文档了。
    https://docs.qq.com/sheet/DUXBwcVRkTGpUakRW?nlc=1&tab=000001

    1.监考员有很多个性化的要需求,数据如下
    sheet1
    2.考试科目
    sheet2
    3.考场设置(考场和科目对应的数字是本场考试安排的监考人数)
    sheet3
    11 条回复    2024-11-27 19:00:52 +08:00
    struggle001
        1
    struggle001  
       1 天前
    excel 就能解决吧?我的同事不是搞编程的,给他老婆用 excel 给学生安排考试的座位等等。
    struggle001
        2
    struggle001  
       1 天前
    看懂了 应该能写 但是懒得写 🐶
    TimG
        3
    TimG  
       1 天前 via Android
    看起来像复杂的背包问题?我脑容量不够解这类,交给有能力的 v 友。
    juventusryp
        6
    juventusryp  
       1 天前
    和排课、排班同属一个问题,ortools 可以解决,目前使用它解决一个比较复杂的排课项目,借助 ai ,基本完成了,ortools 还是挺好用的

    你的需求可以使用 ortools 先解决排监考的问题,然后再利用 pandas 等库写入 excel 即可
    d5d
        7
    d5d  
    OP
       1 天前
    @struggle001 手动可以解决。但是有时候需要推倒重来。主要是想解放一下自己。

    @Jakarta 果然得善用搜索,谢谢提供思路。

    @juventusryp 谢谢大神指点,这就去学习一番。看看我能不能解决,想解放自己。推倒重排监考经常遇到,最近一天搞定考场和监考都很麻烦。高中的六选三大走班排课不是一般的个人能解决的。目前讯飞给解决的,以前是极客。
    d5d
        8
    d5d  
    OP
       1 天前
    @dayeye2006199 谢谢,撒花。
    lpe234
        9
    lpe234  
       19 小时 16 分钟前   ❤️ 1
    尝试写了一个,还有两组约束没加

    https://gist.github.com/lpe234/9823825093e7cfe22e34973dd6936439

    ![考场安排]( )

    ![监考员安排]( )
    z3wood
        10
    z3wood  
       18 小时 46 分钟前   ❤️ 1
    你这就是找线性约束可行解的问题,用 gpt 帮忙用 pulp 库写了下,https://paste.org.cn/RdCXUhycAe
    struggle001
        11
    struggle001  
       18 小时 32 分钟前
    @lpe234 好人啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.