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/ 目录存放案例运行所需的数据文件。


五、运行方式

  1. 打开 Syslab。
  2. 进入任一案例脚本所在目录。
  3. 直接运行对应 .jl 脚本。
  4. 脚本会自动从相对路径 ../data/ 读取数据。
  5. 运行结果将在 Syslab 绘图窗口中展示,便于课堂演示和结果对比。

每个脚本均包含:

  • 案例背景
  • 数学模型 / 建模区
  • 关键参数区
  • 求解区
  • 结果输出
  • 图形展示
  • 结果验证

所有案例均可独立运行,不依赖公共脚本。