Syslab 优化方向教学案例库

适用课程与使用场景

本案例库适用于高校本科及研究生阶段的优化方法、运筹学、工程优化、数学建模、数值计算、系统建模与参数辨识、自动控制、机械设计优化、物流与供应链优化、新能源系统建模等相关课程。

教师可将本案例用于课堂演示、实验教学、课程设计、综合实践、科研入门训练等场景;学生可用于课后练习、算法理解、建模训练、参数调试、课程作业和竞赛拓展

适用课程 可使用的案例方向
优化方法 / 最优化理论 线性规划、二次规划、非线性优化、全局优化、多目标优化
运筹学 生产计划、物流运输、任务指派、旅行商问题、资源分配
工程优化 / 机械设计优化 容器尺寸优化、梁结构优化、机构参数优化、鲁棒优化
数学建模 / 建模竞赛训练 物流分配、路径规划、投资组合、参数拟合、多目标决策
数值计算 / 科学计算 无约束优化、非线性方程求解、函数拟合、算法对比
参数辨识 / 系统建模 曲线拟合、阻尼振动参数辨识、电池模型参数辨识、化学动力学拟合
自动控制 PID 参数整定、多目标 PID 优化、控制性能权衡
物流工程 / 供应链管理 运输成本优化、工厂—仓库—销售点分配优化
新能源 / 电池建模 一阶 RC 电池模型参数辨识、系统参数估计

本案例库围绕优化建模、算法求解与工程应用组织,提供 22 个可独立运行的 Syslab .jl 教学案例,覆盖线性规划、整数规划、二次规划、非线性优化、参数辨识、全局优化与多目标优化等内容。

案例适合教师用于课堂演示、实验教学和课程设计,也适合学生用于课后练习、算法理解、建模训练和工程问题拓展。脚本优先调用 Syslab/Ty 内置函数库,包括 TyOptimizationTyGlobalOptimizationTyPlotCSVDataFrames


一、课程覆盖说明

除前述适用课程外,本案例库还可根据不同专业方向拆分为以下教学模块:

课程方向 可支撑内容
优化方法 / 最优化理论 线性规划、非线性优化、约束优化、全局优化、多目标优化
运筹学 生产计划、运输问题、任务指派、旅行商问题、资源分配
工程优化 结构尺寸优化、机构参数优化、路径参数优化、鲁棒设计
数值计算 / 科学计算 函数优化、非线性方程求解、算法收敛与结果验证
参数辨识与系统建模 曲线拟合、动力学参数估计、电池模型参数辨识、PID 参数整定
数学建模 / 竞赛训练 从实际问题抽象数学模型,并使用求解器完成计算与结果分析

二、适用对象

面向教师

可用于以下教学场景:

  • 课堂导入:用生产计划、物流运输、投资组合等案例引入优化问题的实际背景。
  • 算法讲解:结合 linprogintlinprogfminconparticleswarm 等函数说明不同优化方法的适用范围。
  • 实验教学:安排学生修改参数、约束或目标函数,观察求解结果变化。
  • 课程设计:将单个案例扩展为综合性任务,如路径规划、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 绘图窗口中展示,便于课堂演示和结果对比。

每个脚本均包含:

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

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