排序问题在林场中的应用

(整期优先)网络出版时间:2020-07-01
/ 1

排序问题在林场中的应用

李晓明

甘肃省小陇山林业实验局李子园林场 甘肃天水 741005

摘要:林场管护林地面积广阔,易发多处林区病虫害或者小型火灾,我们无法同时处理问题林区,只能一一处理,然而问题林区的处理时间往往与等待时间有关,等待时间越长,处理时间越长,为了减少损失,我们需要找到所用时间最短或费用最少的方案,这里可以用到组合优化中的排序理论。

关键词:处理时间;等待时间;排序

1引言

在现实中,林区的处理时间往往与等待时间相关,且往往随着等待时间增长,如发生火灾,如果救灾晚的话,可能发生大火蔓延,使救灾时间延长。这类处理时间依赖等待时间的排序问题中,林区的实际处理时间通过基本处理时间,增长率和等待时间来确定。

2问题表述

在这些问题中林区处理时间的增长率可能与基本处理时间相关,如果我们认为林区的等待时间与基本处理时间成正比即5efc573b65175_html_435f140e06972c2f.gif5efc573b65175_html_435f140e06972c2f.gif ,则林区的实际处理时间为5efc573b65175_html_3fd8dc21e3da3fd1.gif5efc573b65175_html_3fd8dc21e3da3fd1.gif ,我们将5efc573b65175_html_dc3fa5f57faf2e53.gif5efc573b65175_html_dc3fa5f57faf2e53.gif 称为增长函数或恶化函数,不失一般性,可以将增长函数设为5efc573b65175_html_18956aac4fb46276.gif5efc573b65175_html_18956aac4fb46276.gif

于是,我们可以给出林区处理时间的增长率与基本处理时间相关的问题的描述:设有n个林区5efc573b65175_html_3f5559a4c87a45bd.gif5efc573b65175_html_3f5559a4c87a45bd.gif ,林区5efc573b65175_html_7972256cf5fad497.gif5efc573b65175_html_7972256cf5fad497.gif 的等待时间为t,增长函数为5efc573b65175_html_18956aac4fb46276.gif5efc573b65175_html_18956aac4fb46276.gif ,其中a,b均为非负常数,5efc573b65175_html_2a60d0da8afdbb7.gif5efc573b65175_html_2a60d0da8afdbb7.gif ;构造完工时间5efc573b65175_html_ec76bb5b8f203b07.gif5efc573b65175_html_ec76bb5b8f203b07.gif 的非减函数5efc573b65175_html_6f981e20a3f85df0.gif5efc573b65175_html_6f981e20a3f85df0.gif 则最大费用 5efc573b65175_html_1e6029a53c17daa1.gif5efc573b65175_html_1e6029a53c17daa1.gif 。所以排序问题记为

5efc573b65175_html_a510785465bb8621.gif

3算法

3.1问题5efc573b65175_html_2b8327e92c640a74.gif5efc573b65175_html_2b8327e92c640a74.gif

问题5efc573b65175_html_2b8327e92c640a74.gif5efc573b65175_html_2b8327e92c640a74.gif 中其最大完工时间5efc573b65175_html_fa279edae48a4d4b.gif5efc573b65175_html_fa279edae48a4d4b.gif 与林区处理顺序无关,若第一个处理的林区等待时间为5efc573b65175_html_55c8991879a3f4dd.gif5efc573b65175_html_55c8991879a3f4dd.gif ,则最大完工时间为:

5efc573b65175_html_65f6d251305b8a80.gif

证明:设在某排序中,林区处理顺序为π=[5efc573b65175_html_d7474855fb60e8c8.gif5efc573b65175_html_d7474855fb60e8c8.gif ],第一个处理的林区等待时间为5efc573b65175_html_55c8991879a3f4dd.gif5efc573b65175_html_55c8991879a3f4dd.gif ,则

5efc573b65175_html_f70a6ccd1088b53b.gif

5efc573b65175_html_72097017049c7e02.gif

设对第k个林区5efc573b65175_html_64be282111c50c03.gif5efc573b65175_html_64be282111c50c03.gif 有:

5efc573b65175_html_340ca24369ddfef.gif

则第k+1个林区5efc573b65175_html_452a8ffbb640388c.gif5efc573b65175_html_452a8ffbb640388c.gif 有:

5efc573b65175_html_45c8dda7a9ed2119.gif

由归纳假设,对第n个林区5efc573b65175_html_a7ea2a3268858273.gif5efc573b65175_html_a7ea2a3268858273.gif 有(*)式成立。所以

5efc573b65175_html_d0c174b05450a296.gif

由于在(*)式中,每个林区的处理时间都是对称的,因此对于林区的任何处理顺序(*)公式均成立。

3.2问题5efc573b65175_html_a510785465bb8621.gif5efc573b65175_html_a510785465bb8621.gif

问题5efc573b65175_html_a510785465bb8621.gif5efc573b65175_html_a510785465bb8621.gif 对于目标函数与工期有关的情况,研究一般性的极小化最大费用问题5efc573b65175_html_a510785465bb8621.gif5efc573b65175_html_a510785465bb8621.gif5efc573b65175_html_1e6029a53c17daa1.gif5efc573b65175_html_1e6029a53c17daa1.gif ,其中5efc573b65175_html_6f981e20a3f85df0.gif5efc573b65175_html_6f981e20a3f85df0.gif 是完工时间5efc573b65175_html_ec76bb5b8f203b07.gif5efc573b65175_html_ec76bb5b8f203b07.gif 的非减函数。

有上述3.1可知,对于给定的林区集合,最大完工时间与林区处理顺序无关。根据这一性质和5efc573b65175_html_6f981e20a3f85df0.gif5efc573b65175_html_6f981e20a3f85df0.gif 是完工时间5efc573b65175_html_ec76bb5b8f203b07.gif5efc573b65175_html_ec76bb5b8f203b07.gif 的非减函数,可以构造求解问题5efc573b65175_html_a510785465bb8621.gif5efc573b65175_html_a510785465bb8621.gif 的多项式算法。算法的思路是从后到前确定各林区的处理顺序,使每次确定排最后的林区的函数值都是最小的,从而保证整个排序是最优排序。

算法:设A={尚未确定处理顺序的林区};B={已经确定处理顺序的林区}

  1. 置A={5efc573b65175_html_d7474855fb60e8c8.gif5efc573b65175_html_d7474855fb60e8c8.gif };B=∅.

  2. 对当前时刻的A,记5efc573b65175_html_26e1b33788be9e41.gif5efc573b65175_html_26e1b33788be9e41.gif ,求5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif ,使

5efc573b65175_html_b41a5fbfdd7cc849.gif

5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif 排在最后一个位置。置A=A-{5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif };B=B+{5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif }

  1. 若A=∅,停止:否则转步骤(2)。

证明此算法得出的排序是最优排序:

设π为一个最优排序,π中林区的处理顺序与算法给出的排序中林区处理顺序不同,不失一般性,先设最后一个林区不同。

设π为如下形式

5efc573b65175_html_b94487658dd293f6.gif

其中5efc573b65175_html_a07d3d52beeebbef.gif5efc573b65175_html_a07d3d52beeebbef.gif5efc573b65175_html_48646fbbd0f50208.gif5efc573b65175_html_48646fbbd0f50208.gif5efc573b65175_html_fd7c39a5967de2e7.gif5efc573b65175_html_fd7c39a5967de2e7.gif 代表剩下的林区。

由于5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif 也可以排在最后,在π中将5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif 取出排在最后一位,得到一个新的排序

5efc573b65175_html_f1b3efa6ee22d218.gif

从π变成5efc573b65175_html_a35edcb2012fe76d.gif5efc573b65175_html_a35edcb2012fe76d.gif 的过程中除5efc573b65175_html_1001a32cbf414081.gif5efc573b65175_html_1001a32cbf414081.gif 外其余林区的处理时间都没有增加,因为5efc573b65175_html_6f981e20a3f85df0.gif5efc573b65175_html_6f981e20a3f85df0.gif 是完工时间5efc573b65175_html_ec76bb5b8f203b07.gif5efc573b65175_html_ec76bb5b8f203b07.gif 的非减函数,所以这些林区的5efc573b65175_html_6f981e20a3f85df0.gif5efc573b65175_html_6f981e20a3f85df0.gif 不会增加,又因为5efc573b65175_html_94db6ced98b055.gif5efc573b65175_html_94db6ced98b055.gif 所以5efc573b65175_html_a35edcb2012fe76d.gif5efc573b65175_html_a35edcb2012fe76d.gif 的目标函数值不会超过π的目标函数值,5efc573b65175_html_a35edcb2012fe76d.gif5efc573b65175_html_a35edcb2012fe76d.gif 中的最后一个林区与算法给出的排序的最后一个相同,还是用这种方式将最优排序π继续转化,每一步转化都可以保证产生的新的排序的目标函数值不会增加,直到转化为有此算法产生的排序而且目标函数值不变,所以该算法得出的排序是最优排序。

4结语

这样借助于组合优化的理论,可以得出这一类林业问题的算法。在林场工作实践中会遇到各种各样的问题,要善于总结、归纳、抽象,同时还可以结合其他专业、学科,这样不但可以开拓思维,也便于更好的解决问题。

参考文献

[1]唐恒永,赵传立.排序引论[M].北京,科学出版社,2002年6月第一版.

[2]王吉波.工件加工时间可变的现代排序问题[D].大连,大连理工大学,2005.