Assortment-Benchmark
收藏github2025-11-04 更新2025-11-05 收录
下载链接:
https://github.com/wch444/Assortment-Benchmark
下载链接
链接失效反馈官方服务:
资源简介:
该存储库为混合多项Logit(MMNL)和嵌套Logit(NL)选择模型下的品类优化问题提供了一个基准数据集。该基准提供了使用系统方法生成的困难实例,以及一个可访问的接口来测试您设计的算法性能。
This repository provides a benchmark dataset for the category optimization problem under the Mixed Multinomial Logit (MMNL) and Nested Logit (NL) choice models. This benchmark offers hard instances generated using a systematic method, as well as an accessible interface for testing the performance of the algorithms you have designed.
创建时间:
2025-10-17
原始信息汇总
数据集概述
基本描述
该数据集为品种优化问题提供基准测试实例,专注于混合多项Logit(MMNL)和嵌套Logit(NL)两种离散选择模型下的优化问题。
数据集结构
目录组织
-
generator/:合成数据生成器constraint.py:容量和结构约束mmnl_data_generator.py:MMNL实例数据生成器nl_data_generator.py:NL实例数据生成器utils.py:从JSON文件加载数据的工具函数
-
method/:优化算法general_method.py:通用优化方法mmnl_method.py:MMNL启发式算法nl_method.py:NL启发式算法
-
models/:性能评估函数mmnl_functions.py:MMNL特定函数nl_functions.py:NL特定函数
-
src/:示例笔记本plot.py:数据分析和可视化函数mmnl_cardinality_example.ipynb:MMNL基数约束示例mmnl_unconstrained_example.ipynb:MMNL无约束问题示例nl_cardinality_example.ipynb:NL基数约束示例nl_unconstrained_example.ipynb:NL无约束问题示例
-
hard_data/:预生成的困难实例(JSON文件)- MMNL相关文件:
mmnl_card_RS2_data.json、mmnl_card_RS4_data.json、mmnl_unconstrained_RS2_data.json、mmnl_unconstrained_RS4_data.json - NL相关文件:
nl_card_01_data.json、nl_card_34_data.json、nl_unconstrained_01_data.json、nl_unconstrained_34_data.json
- MMNL相关文件:
数据内容
实例类型
- MMNL模型:混合多项Logit模型实例
- NL模型:嵌套Logit模型实例
约束类型
- 无约束问题
- 基数约束问题
实例参数配置
MMNL实例
- 产品数量(n):{50, 100, 200}
- 客户细分数量(m):{5, 10, 25}
- 约束基数率(cap_rate):{0.1, 0.3, 0.5}
- 收入曲线类型:RS2、RS4
NL实例
- 嵌套数量(m):{5, 10, 20}
- 每个嵌套的产品数量(n):{25, 50}
- 每个嵌套的约束基数率(cap_rate):{0.1, 0.3, 0.5}
- vi0分布方法:01(vi0 ~ U(0,1),低嵌套内效用)、34(vi0 ~ U(3,4),高嵌套内效用)
数据生成与选择
生成方法
- MMNL数据:从函数
mmnl_data_v0_lognorm生成 - NL数据:从函数
nl_data_vi0_uniform01和nl_data_vi0_uniform34生成
选择标准
- 每个参数组合生成100个候选实例
- 使用多种算法评估每个候选实例
- 选择最优性差距最大的实例作为困难实例
- 每个参数组合通常包含3-10个困难实例
数据格式
- 所有实例以JSON格式存储
- 可通过
generator/utils.py中的工具函数加载
技术依赖
- Python版本:3.9或更高(支持3.9、3.10、3.11、3.12)
- 核心依赖:numpy、pandas、matplotlib、seaborn、openpyxl、ipykernel
- 可选依赖:Gurobi求解器(用于精确优化方法)
使用方式
- 通过示例笔记本快速开始
- 支持自定义算法实现
- 提供性能评估和结果分析工具
相关论文
数据集伴随论文《Solving Assortment Optimization with First-Order Methods and Neural Networks: A Computational Framework and Public Benchmark》发布。
搜集汇总
数据集介绍

构建方式
在离散选择模型研究领域,Assortment-Benchmark通过系统性方法构建了具有挑战性的实例集合。该数据集采用合成数据生成技术,针对混合多项Logit模型和嵌套Logit模型分别设计了专门的生成器。对于MMNL模型,数据生成基于对数正态分布函数mmnl_data_v0_lognorm;而NL模型则通过均匀分布函数nl_data_vi0_uniform01和nl_data_vi0_uniform34生成不同效用水平的实例。每个参数组合下首先生成100个候选实例,采用随机种子控制确保可复现性,最终通过多算法评估筛选出最具代表性的困难案例。
使用方法
研究人员可通过模块化接口便捷地使用该数据集。核心操作包括通过generator.utils模块的load_MMNL_instances和load_NL_instances函数加载实例数据,利用models子模块中的收益函数进行算法评估。数据集配套提供了详实的示例代码,涵盖无约束和基数约束两种典型场景。用户可实现自定义算法并与预设的基准方法进行对比分析,系统会自动生成包括统计表格、可视化图表和Excel报告在内的完整评估结果。这种标准化流程确保了不同研究之间的可比性,同时支持新算法的快速集成与验证。
背景与挑战
背景概述
Assortment-Benchmark数据集由Guo等学者于2025年创建,旨在为混合多项Logit和嵌套Logit选择模型下的商品组合优化问题提供标准化评估基准。该数据集通过系统化方法生成具有挑战性的算例,覆盖无约束与基数约束等多种场景,有效推动了运营管理领域中对复杂消费者选择行为建模与优化算法的研究进展。其严谨的设计框架促进了算法性能的可比性与可复现性,为相关理论发展与实际应用提供了重要支撑。
当前挑战
商品组合优化领域面临的核心挑战在于处理高维参数空间与非线性选择概率的耦合效应,尤其在混合多项Logit模型中需应对多客户细分带来的计算复杂性。数据集构建过程中,通过多算法评估与最优性间隙分析筛选困难算例,确保基准涵盖现有方法难以求解的场景。嵌套Logit模型则需克服嵌套结构导致的非凸优化障碍,其精确解获取依赖强多项式时间算法的突破。
常用场景
经典使用场景
在运营管理与收益优化领域,Assortment-Benchmark数据集为混合多项Logit和嵌套Logit模型下的商品组合优化问题提供了系统化测试基准。该数据集通过精心设计的困难实例,支持研究者评估各类启发式算法在复杂约束条件下的表现,例如在容量限制或嵌套结构下最大化期望收益。其预生成的实例覆盖了不同规模与参数配置,为算法鲁棒性验证提供了标准化环境。
解决学术问题
该数据集有效应对了离散选择模型中组合优化问题的计算复杂性挑战。通过提供经多算法验证的困难实例,它帮助学术界识别现有方法在边界场景中的局限性,例如高维参数空间下的收敛困难或嵌套效用结构的近似误差。这些实例推动了紧上界理论与混合整数规划方法的创新,并为随机参数建模下的性能保证研究提供了实证基础。
实际应用
在商业决策支持系统中,该数据集被广泛应用于零售业动态定价与库存优化场景。航空公司的舱位分配、电商平台的个性化推荐等实际场景均可通过该基准测试不同选择模型下的收益策略。其提供的容量约束实例尤其适用于实体零售的货架空间优化,而嵌套结构则能模拟多层次消费决策过程,为行业提供可量化的策略评估工具。
数据集最近研究
最新研究方向
在离散选择模型驱动的产品组合优化领域,Assortment-Benchmark数据集正推动算法研究向更高维度和复杂约束场景拓展。前沿工作聚焦于开发针对混合多项Logit和嵌套Logit模型的启发式算法,特别是结合神经网络与一阶优化方法的新型求解框架。当前研究热点包括通过对抗性实例生成技术构建算法压力测试环境,以及探索在容量约束与收益曲线异质性条件下的通用优化策略。该基准通过系统化难例筛选机制,为评估算法在现实商业场景中的鲁棒性提供了标准化平台,显著加速了零售业动态定价与库存优化技术的迭代进程。
以上内容由遇见数据集搜集并总结生成



