传统排序算法将排序问题转换成分类或回归问题来求解,这样得到的模型不够精确。对此提出一种新的排序算法,该算法把排序问题看成一个结构化学习过程,即通过训练集来学习一个排序结构。算法首先定义了一个查询级的目标函数,针对算法约束条件太多,难以直接优化,提出使用割平面算法进行求解。对于算法中的“寻找最违约排列”子问题,将其变换成为一个简单的降序排列问题。基于基准数据集的实验表明,相比起传统的排序算法,所提算法更为有效。