Syslab 优化方向教学案例库
适用课程与使用场景
本案例库适用于高校本科及研究生阶段的优化方法、运筹学、工程优化、数学建模、数值计算、系统建模与参数辨识、自动控制、机械设计优化、物流与供应链优化、新能源系统建模等相关课程。
教师可将本案例用于课堂演示、实验教学、课程设计、综合实践、科研入门训练等场景;学生可用于课后练习、算法理解、建模训练、参数调试、课程作业和竞赛拓展。
| 适用课程 | 可使用的案例方向 |
|---|---|
| 优化方法 / 最优化理论 | 线性规划、二次规划、非线性优化、全局优化、多目标优化 |
| 运筹学 | 生产计划、物流运输、任务指派、旅行商问题、资源分配 |
| 工程优化 / 机械设计优化 | 容器尺寸优化、梁结构优化、机构参数优化、鲁棒优化 |
| 数学建模 / 建模竞赛训练 | 物流分配、路径规划、投资组合、参数拟合、多目标决策 |
| 数值计算 / 科学计算 | 无约束优化、非线性方程求解、函数拟合、算法对比 |
| 参数辨识 / 系统建模 | 曲线拟合、阻尼振动参数辨识、电池模型参数辨识、化学动力学拟合 |
| 自动控制 | PID 参数整定、多目标 PID 优化、控制性能权衡 |
| 物流工程 / 供应链管理 | 运输成本优化、工厂—仓库—销售点分配优化 |
| 新能源 / 电池建模 | 一阶 RC 电池模型参数辨识、系统参数估计 |
本案例库围绕优化建模、算法求解与工程应用组织,提供 22 个可独立运行的 Syslab .jl 教学案例,覆盖线性规划、整数规划、二次规划、非线性优化、参数辨识、全局优化与多目标优化等内容。
案例适合教师用于课堂演示、实验教学和课程设计,也适合学生用于课后练习、算法理解、建模训练和工程问题拓展。脚本优先调用 Syslab/Ty 内置函数库,包括 TyOptimization、TyGlobalOptimization、TyPlot、CSV 与 DataFrames。
一、课程覆盖说明
除前述适用课程外,本案例库还可根据不同专业方向拆分为以下教学模块:
| 课程方向 | 可支撑内容 |
|---|---|
| 优化方法 / 最优化理论 | 线性规划、非线性优化、约束优化、全局优化、多目标优化 |
| 运筹学 | 生产计划、运输问题、任务指派、旅行商问题、资源分配 |
| 工程优化 | 结构尺寸优化、机构参数优化、路径参数优化、鲁棒设计 |
| 数值计算 / 科学计算 | 函数优化、非线性方程求解、算法收敛与结果验证 |
| 参数辨识与系统建模 | 曲线拟合、动力学参数估计、电池模型参数辨识、PID 参数整定 |
| 数学建模 / 竞赛训练 | 从实际问题抽象数学模型,并使用求解器完成计算与结果分析 |
二、适用对象
面向教师
可用于以下教学场景:
- 课堂导入:用生产计划、物流运输、投资组合等案例引入优化问题的实际背景。
- 算法讲解:结合
linprog、intlinprog、fmincon、particleswarm等函数说明不同优化方法的适用范围。 - 实验教学:安排学生修改参数、约束或目标函数,观察求解结果变化。
- 课程设计:将单个案例扩展为综合性任务,如路径规划、PID 参数整定、多目标结构优化等。
- 科研入门训练:帮助学生理解工程问题如何转化为优化模型,并完成仿真验证。
面向学生
可用于以下学习任务:
- 理解优化问题中的目标函数、设计变量、约束条件。
- 学习常见优化函数的调用方式和参数设置。
- 对比局部优化、全局优化、多目标优化等不同算法的求解效果。
- 通过修改数据、参数和约束,完成二次开发和拓展实验。
- 将课堂理论与生产、物流、控制、结构、路径规划等应用场景结合起来。
三、案例分类与教学场景
| 序号 | 案例名称 | 优化类型 | 适用课程 / 场景 | 推荐函数 | 是否需要数据 |
|---|---|---|---|---|---|
| 1 | 生产计划优化 | 线性规划 | 运筹学、生产调度、资源分配 | linprog |
是 |
| 2 | 物流运输成本优化 | 线性规划 | 运筹学、物流工程、供应链优化 | linprog |
是 |
| 3 | 工厂—仓库—销售点分配优化 | 混合整数线性规划 | 供应链网络设计、设施选址 | intlinprog |
是 |
| 4 | 任务指派问题 | 混合整数线性规划 | 运筹学、排班与任务分配 | intlinprog |
是 |
| 5 | 旅行商问题 TSP | 组合 / 启发式优化 | 路径优化、组合优化、数学建模 | ga |
是 |
| 6 | 投资组合有效前沿 | 二次规划 | 金融工程、风险收益优化 | quadprog |
是 |
| 7 | 容器尺寸最小成本设计 | 有约束非线性优化 | 工程设计优化、机械/化工容器设计 | fmincon |
否 |
| 8 | Rosenbrock 函数无约束优化 | 无约束非线性优化 | 优化算法基础、算法收敛分析 | fminunc, fminsearch |
否 |
| 9 | 指数衰减曲线拟合 | 非线性最小二乘 | 数据拟合、实验数据处理 | lsqcurvefit |
是 |
| 10 | 阻尼振动参数辨识 | 参数辨识 | 振动分析、动力学系统建模 | lsqcurvefit |
是 |
| 11 | 一阶 RC 电池模型参数辨识 | 参数辨识 | 新能源、电池建模、系统辨识 | lsqcurvefit |
是 |
| 12 | 化学反应动力学参数拟合 | 参数拟合 | 化学动力学、实验数据建模 | lsqcurvefit |
是 |
| 13 | 化学平衡方程求解 | 非线性方程求解 | 化学工程、数值方程求解 | fzero |
否 |
| 14 | PID 参数整定优化 | 有约束非线性优化 | 自动控制、控制系统仿真 | fmincon |
可选 |
| 15 | Rastrigin 函数全局优化对比 | 全局优化 | 全局优化算法、局部极值问题 | ga, fminsearch |
可选 |
| 16 | 梁结构多目标优化 | 多目标优化 | 结构优化、Pareto 前沿分析 | gamultiobj, packfcn |
可选 |
| 17 | 无导数机构参数优化 | 无导数约束优化 | 机械机构设计、黑盒优化 | patternsearch |
是 |
| 18 | 梁结构鲁棒优化 | 鲁棒优化 | 结构可靠性、工程安全裕度设计 | fmincon |
是 |
| 19 | 昂贵黑盒函数代理优化 | 代理优化 / 全局优化 | 仿真驱动优化、昂贵函数优化 | surrogateopt, particleswarm |
是 |
| 20 | 全局局部混合优化 | 全局优化 + 局部精修 | 算法对比、混合优化策略 | particleswarm, fmincon |
是 |
| 21 | 无人车路径参数优化 | 约束全局优化 | 无人系统、路径规划、避障优化 | particleswarm |
是 |
| 22 | 多目标 PID 参数整定 | 多目标 Pareto 优化 | 自动控制、多目标控制性能权衡 | paretosearch |
是 |
四、目录结构
Syslab优化方向教学案例/
├─ 01_线性规划/
├─ 02_混合整数规划/
├─ 03_二次规划/
├─ 04_非线性优化/
├─ 05_最小二乘与参数辨识/
├─ 06_非线性方程求解/
├─ 07_全局优化/
├─ 08_多目标优化/
├─ data/
├─ README.md
└─ 测试报告.md
各分类目录下为对应案例脚本;data/ 目录存放案例运行所需的数据文件。
五、运行方式
- 打开 Syslab。
- 进入任一案例脚本所在目录。
- 直接运行对应
.jl脚本。 - 脚本会自动从相对路径
../data/读取数据。 - 运行结果将在 Syslab 绘图窗口中展示,便于课堂演示和结果对比。
每个脚本均包含:
- 案例背景
- 数学模型 / 建模区
- 关键参数区
- 求解区
- 结果输出
- 图形展示
- 结果验证
所有案例均可独立运行,不依赖公共脚本。
登录账号即可下载资源、参与讨论。