根据两个变量(Shipment_time、装运成本)获取最佳行

Getting optimal rows based on two variables (Shipment_time, Shipment cost)

提问人:Gordan84 提问时间:1/28/2023 更新时间:1/29/2023 访问量:31

问:

我正在尝试根据时间和成本这两个变量(列)确定最佳解决方案。我需要根据交货时间和交货成本决定哪个货件提供商最理想。

我想知道是否有任何方法可以在SQL或Python(Pandas)中做到这一点。这些值类似于:

交货时间 运费
“1 天 24:55:38.765958” 11.3057446808510638
“2 天 13:44:12.084918” 8.6606336633663366
“2 天 21:47:49” 13.0000000000000000
“2 天 28:21:07.42914” 35.5322866894197952
pandas postgresql 帕累托最优

评论

0赞 Harry Haller 1/29/2023
您对最优性的定义是什么?
0赞 Gordan84 1/29/2023
老实说,我也不确定。我仍在集思广益,如何找到两个变量的最佳组合,使交货时间很重要,但仍然要考虑运输成本。

答:

1赞 jjanes 1/29/2023 #1

我对帕累托最优的理解是,你希望每一行都没有在两个维度上都比它更好的行。这很容易转化为 SQL:

select * from foo a where not exists (
    select 1 from foo b where b.delivery_time<a.delivery_time and b.delivery_cost < a.delivery_cost
);

不过,我不确定在出现领带的情况下应该怎么做。

评论

0赞 Gordan84 1/29/2023
老实说,我仍在集思广益,如何找到两个变量的最佳组合,使交货时间很重要,但仍然要考虑运输成本。我会为你的努力投赞成票,我感谢你。我认为我的最终答案将不那么科学,而更定性。