chore: 初始化 MCM/ICM Toolkit 仓库骨架

审查并精简 ChatGPT 的建库建议后落地的第一版骨架,只定接口不写实现。

- 建议审查:14 个包 → 7 个;约 250 个函数 → 约 40 个;5 个 Result 类 → 1 个
  (docs/01-suggestion-review.md)
- docs/:架构、路线图(含永久不做清单)、环境、Git 工作流、函数卡片模板
- src/mcm_toolkit/:core / data / stats / models / solve / decision / viz
  共 23 个模块,均为签名 + docstring + NotImplementedError
- tests/:9 个文件,其中 test_api_surface.py 已通过(20 passed)
- examples/ problems/ notebooks/ figures/ tables/ 骨架
- pyproject.toml(核心依赖 4 个 + 6 组 extras)、environment.yml
- scripts/:setup-venv.ps1(ASCII + LF)、setup-conda.ps1、doctor.ps1
- 环境:.venv(system-site-packages)与 conda 环境 mcm-toolkit 均已建好,
  数值栈版本与 base 完全对齐(numpy 2.4.6 / scipy 1.18.1 / pandas 3.0.6,MKL 后端)
This commit is contained in:
guzhujushi committed 2026-10-01 17:43:48 +08:00
commit 5319589dfd
76 files changed
+6812

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
# conda 环境复现文件(换机器 / 精确重建时用)。
#
# 它需要联网从 repo.anaconda.com 下载。断网时不要用它 —— 正确做法是
# **比赛前就把环境建好**,并保留 D:\anaconda\pkgs 缓存。
# 注意 conda create --clone base 在 conda 25.11 上不是"离线本地复制",
# 实测会重放 base 的完整包列表并逐个下载,非常慢。
#
# 实测(2026-10-01):conda create 精准包列表约 14.5 分钟,下载约 3 GB,
# 环境本体 1.55 GB。详见 docs/04-environment.md。
#
# 用法:
# conda env create -n mcm-toolkit -f environment.yml
# conda env update -n mcm-toolkit -f environment.yml --prune
name: mcm-toolkit
channels:
- defaults
dependencies:
# 解释器:与 2026-10 本机 Anaconda base 一致(3.13.9)
- python=3.13
# 核心四件套(pyproject.toml 里的必装依赖)
- numpy>=2.0
- scipy>=1.14
- pandas>=2.2
- matplotlib>=3.9
# [ml]
- scikit-learn>=1.5
- statsmodels>=0.14
# [graph]
- networkx>=3.3
# [symbolic]
- sympy>=1.13
# [excel]
- openpyxl>=3.1
# [dev]
- pytest>=8.0
- ruff>=0.6
# pip 部分:conda 通道里没有或版本不合的
- pip
- pip:
- SALib>=1.4 # [sensitivity] Sobol / Morris
- pymoo>=0.6 # [moo] 多目标优化
- pyright>=1.1 # [dev] 类型检查
- -e . # 本项目(可编辑安装)