基于递归穷举的0-1整数规划求解器
项目介绍
本项目实现了一个针对小规模0-1整数规划问题的通用求解器。通过递归算法穷举所有可能的0-1变量组合,计算每个组合对应的目标函数值,最终找出最优解和最优值。程序特别适用于教学演示和小规模问题验证,可解决指派问题、背包问题等经典0-1规划问题。用户可验证教材例题结果,如《运筹学基础及应用》中的实例对比分析。
功能特性
- 递归穷举算法:采用递归方式生成所有可能的0-1变量组合
- 实时计算比较:在枚举过程中实时计算目标函数值并比较最优解
- 完整解空间探索:确保找到全局最优解,避免陷入局部最优
- 过程可视化:提供递归深度、当前解状态等详细计算日志
- 结果对比分析:支持与参考解进行对比验证,便于教学演示
- 多约束支持:可处理等式和不等式约束条件
使用方法
输入参数
- 变量个数n:n≥3的整数
- 目标函数系数向量:1×n的数值数组
- 约束条件矩阵:m×n的数值矩阵(m为约束个数)
- 约束右端项向量:m×1的数值数组
- 约束类型标识:等式或不等式约束说明
输出结果
- 最优解向量:1×n的0-1数组
- 最优目标函数值:标量数值
- 所有可行解列表:k×n的0-1矩阵(k为可行解数量)
- 计算过程日志:递归深度、当前解状态等信息
- 对比分析报告:与参考结果的对比分析(当提供参考解时)
系统要求
- MATLAB R2018a或更高版本
- 适用于Windows/Linux/macOS操作系统
- 内存需求取决于问题规模,建议至少4GB RAM
文件说明
主程序文件实现了完整的0-1整数规划求解流程,包括参数输入验证、递归穷举算法核心逻辑、约束条件检查、目标函数值计算与比较、结果输出与日志记录等功能。该文件作为整个求解器的入口点,协调各个功能模块的协同工作,确保求解过程的正确性和完整性。