2023IMMC国际赛

2023IMMC国际赛

https://github.com/tioibiy/IMMC

思路

还是喜欢规划题

我觉得这次整体模型上思路问题不大,微分方程模拟是一个可行的解决方案

问题在于细节上

  1. 归一化处理不够完全,应该先将所有数据整体归一,比如将坡度的数值换算成\([0,1]\)中的一个“分值”、将人口换算成环境承载能力百分比等等
  2. 没有重视数据量纲的处理就是归一化没做好喳,导致对不同环境有不同依赖的设施,在微分方程模拟中产生的解有极大的差异
  3. 没有重视模型的深度。我们需要向评委展示我们模型思维的能力,需要使用多层嵌套、横向对比、多角度验证过的模型
  4. 重视数学公式的推导和验证,给组员讲明白符号定义和注释

过程

  1. 这5天有相当长的一部分时间在摸鱼 大抵是没有思路的迷茫罢
  2. 下次自己写个时间表,提醒还有什么事情没完成,顺便记录突发的灵感
  3. 需要更长的时间进行软件的磨合
  4. 奶茶——
  5. 尽量让每个组员都有事做,不要在某个问题上死磕导致进度拖慢
  6. 组织大家一起想思路,头脑风暴,让每个人都参与模型的制定中;组织一个大家聚在一起改论文的时间
  7. 把自己脑海中想到的东西,尤其是数据的呈现方式、图表等画在白板上
  8. 找个好用的在线协作罢
  9. \(pound15\)便士

程序

  1. 用git做程序版本控制 在有重大改动的时候(速度优化,增加基础功能,更改数据,重构)需要分出分支
  2. 一定 一定 一定 要编测试点 尤其是在最终版本确定之后 一定要编一个覆盖所有功能的大测试点,手写多轮循环后的结果
  3. 在写程序之前要确认思路 预判程序在展示数据上的输出 防止爆零或单一输出
  4. 做好注释 和队友有良好的沟通 写好文档 给大家讲懂
  5. 随时监控论文状态 把想到的想法记到时间表上以免忘记
  6. 降低数据重要性
  7. 提前想好量纲和归一化
  8. 想好了再打日志,打完日志要给日志写注释
  9. 巨大数据量的时候,写好 Python后要想想 C++的写法 算好时间复杂度,PythonC++\(30\)\(40\)
  10. Mathematica是个天坑
  11. Python是个天坑
  12. 有时间写一个 C++数学库,包括有序数对、科学计数法、解微分方程和张量
  13. 用同样的系统做在线协作
  14. \(Chatgpt\)修改程序并优化和写注释
  15. 好好画图