a parallel algorithm for the dynamic lot-sizing problem

8
A parallel algorithm for the dynamic lot-sizing problem q Jr Jung Lyu Jr. * , Ming-Chang Lee Department of Industrial Management Science, National Cheng Kung University, Tainan, Taiwan, ROC Abstract The dynamic lot-sizing model DLS) is one of the most frequently used models in production and inventory system because lot decisions can greatly affect the performance of the system. The practicality of DLS algorithms is hindered by the huge amount of computer resources required for solving these models, even for a modest problem. This study developed a parallel algorithm to solve the lot-sizing problem ef®ciently. Given that n is the size of the problem, the complexity of the proposed parallel algorithm is On 2 p) with p processors. Numerical experiments are provided to verify the complexity of the proposed algorithm. The empirical results demonstrate that the speedup of this parallel algorithm approaches linearity, which means that the proposed algorithm can take full advantage of the distributed computing power as the size of the problem increases. q 2001 Elsevier Science Ltd. All rights reserved. Keywords: Materials requirements planning; Parallel algorithm; Lot sizing models 1. Introduction The dynamic lot sizing DLS) model is one of the most frequently used models in production and inventory system. If the demand for every period in n periods is known, the DLS model is used to determine the optimal lot size. The objective is to keep production and holding costs to a minimum Federgruen & Tzur, 1991). Wagelmans, Hoesel and Kolen 1992) also pointed out that when the production structure is more complicated, it is essential for MRP software to construct an ef®cient solution to solve the DLS model. Their arguments can be extended to a modern computerized production system such as Manufacturing Resource Planning MRP II) Kim & Hosni, 1998) and Enterprise Resources Planning ERP) Chung & Synder, 2000). However, under certain special structures, DLS problems are classi®ed as NP-hard problems. In general, there are two approaches to solve the DLS problems: optimum solution methods and Computers & Industrial Engineering 41 2001) 127±134 0360-8352/01/$ - see front matter q 2001 Elsevier Science Ltd. All rights reserved. PII: S0360-835201)00047-X www.elsevier.com/locate/dsw q This manuscript was processed by Area Editor Maged M. Dessouky. * Corresponding author. Tel.: 1886-62080576; fax: 1886-62501734. E-mail address: [email protected] J. Lyu).

Upload: jr-jung-lyu-jr

Post on 04-Jul-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A parallel algorithm for the dynamic lot-sizing problem

� �������� ������� �� �� ������ ������� ��������

�� ���� ��� ����� ��������� ���

���������� ��� ������ ���������� �������� ������� ����� � �� ����������� ������� ������� � �

��������

��� ������ ������� ����� � �!" � ��� � �� ��� ��#����� ���� ������ � �������� ��� �$�����

����� ������� �� ������� ��� ������ � �� �� ��� ������� � �� ������ ��� �������� � �! ��������

� ������� �� �� ���� ����� � ������� ��������� ��#���� �� ���$�� ���� ������� �$�� �� � �����

�������� ��� ���� ��$������ � �������� ������� � ���$� �� ������� ������� � %������ &$�� �� � � ��

��� � �� �������� �� ������'� � �� �������� �������� ������� � (��)�" *� � ����������� +�������

�'������� ��� ���$��� � $�� � �� ������'� � �� �������� �������� ��� ������� ������ ���������

�� �� ������� � �� �������� ������� ���������� ������� *��� ����� �� �� �������� ������� ��� �,�

��� ��$����� � �� ������� ������� ��*�� �� �� ��� � �� ������� ��������� � )--. /���$�� !�����

��� ��� ���� �����$���

�������0 ������� ��#������� �������1 2������� �������1 �� ���� ������

� ���� ������

��� ������ �� ���� � �!" ����� � ��� � �� ��� ��#����� ���� ������ � �������� ����$����� ������ 3 �� ������ �� �$��� ����� � � ������ � ,��*�� �� �! ����� � ���� �������� �� ����� �� ���� ��� ��4��$� � � ,��� �������� ��� ������ ���� � � ������5��������� 6 ����� .77."� 8��������� 9����� ��� :���� �.77)" ���� ����� �� �� *��� ���������� ������� � ���� ���������� � ������� �� �;2 �� *��� � ������� �� � %��������� � ���$� �� �! ������ ���� �������� ��� �� �'����� � � ������ ���������� ������������� ���� �� ���� ������ ;������� 2������ ��;2 33" �:� 6 9���� .77<" ��� /�������;�������� 2������ �/;2" ������ 6 !������ )---"� 9�*�$��� ����� ����� ������ ��������� �!�������� ��� �����%�� �� +2����� ���������3� �������� ���� ��� *� ���������� � ���$� �� �! ��������0 ����� ������ ������ ���

�������� 6 3������� /�������� =. �)--." .)>?.@=

-@A-�<@B)C-.CD � ��� ��� ���� � )--. /���$�� !����� ��� ��� ���� �����$���

2330 !-@A-�<@B)�-."---=>�E

***�����$������C�����C��*

� ��� �������� *�� ��������� �� ���� /��� ����� �� �����,��

� ������������ ������ ����0 �<<A�A)-<-B>A1 �'0 �<<A�A)B-.>@=�!"���� �������# 4���F������,������* ��� ���"�

Page 2: A parallel algorithm for the dynamic lot-sizing problem

������ ������� � ������ ������ ���� �� ��������� ��������� ������ ����� ���� �� ������#������� � ��#��� �� ������ *��� ��������� �� ���������� ����� ��������� ����� ���� 6����� .7<7"� ��� ������ ������ ����� ����� ����� �� ��#��� ���� ������� ���������� �������� ������ ��������� �� �� ���� ����� � ������ *��� ��������� ��������� ��� ������� ��*��� �� �� ������� ��� � �� �� ��� ������� ������������ � ���� ���� � ���� ,��� � ������ ������� �������� ����� �������� ��� ������ ��� ����� ������" ��$� ���� ������������� �� ��� �* ����� ����� �� � ���,�� &�$�� 6 :�����,��� .7<=1 �����*�� 6 2��,� .77@1G���� ������ 6 H������� .7<="� 9�*�$��� ��� � ���� ������ ��#��� �������� ��������� �� �� �$�� � ����� �������� ���� ����������� ����� /$���� !����� 6 ��:��*� .7<71 !����� 6��:��*� .7<>" ��$� ���� ��� �������� �������� � ��$� ������� ������ �� � ������ �2I ������ �$������ � ����� ��$� �������� �������� ����� �� ������ �� ���� ������� ������

�� ��*�� � ���$� ��������� ���������� �������� ���� ��� �� ���� � ���$� ������ ���������!��� ���$��� ����� ����� �� ���� &�����,���� 6 :���$������,��� .77B1 ;���4� 6 !��� .777"��$� ���� ������ ������ � �� ����� ���� �� �$������ � �������� �� *��� ���� �� ��������� ������� ��$������� ������ $��� � %��� � ���$�� � ���$������ �������� �� ��������� ��������� �� ��$���� � �������� ������� �� �� �� ���� ������� � �� ���� ��� � ������������ ������'� ��*��� ����������� *��� � �� ������� � �������, ����� �� �'������������� �� ��� ,��*������ ���� � �� �������� �������� � �'����� �� ���������� � � �!������� �� ������ ��� ��4��$� � �� ����� � � ������ � �������� ������� �� ���$�� �� �! �������� ���

�������� ������� � ��������� � � ������� ������� ������� ��$������ �� ��������'�������� 8� *�� ��������� �� � %����� � �� ������� �� ���*�� � ������'� ���������� �'�������� �������

� ����������� �� ��� �������

������� � �� ���� ������� �� ��� �� �'������� � �� ����*�� ��������� ��������0

$��� � ��

���������.�%��

��% �

��� .��%

��&��� .

���& � $� %� .��

�� � $��� .��.�

*���� $�-� � - ��� $�.� � �. ��� �� ����*�� ������� ��� ������0 �� � �� ������� �� ���� ��� ������ �� �� �� �$����� ������� ��� ��� �� � ����� �$����� � ����� � ���� �� �- � -"� �� ������� �������� � ����� �� $��� � �� ����� ��� ��� �� ������ . ������ ������� �." � ������� � %�� �� ����� ������� ����� �� �� �! ������� *���� �� ��� ���

�������� �� ���� ��� ���� �$����� ������� ��� �� ���� ����� ��� ����� . ������ ����� �� ��� ��*��� �������� 88 ������� ���� ������ ���������� ��� � �� ��� *������%��� ����#�� ��%���� �� ����� ������ �� �� �� ���� ������� �8����� 6 8��� .7B<"� 9�*�$��� ��� � ���������� � �� �������� �������� *� ������ ����������� � ����� ��� ���� ����� ������������ �������� ���$� ��� ������ �� ������ � ��������� ��#���� ��� *�� �������� %���� !����� ��� ��:��* �.7<>"� �� ��$���� �� ������� � ������ �� �� ����� ������ �� ��

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4,.)<

Page 3: A parallel algorithm for the dynamic lot-sizing problem

������ �% ������ .��%

��&��� . ���& ��� �� ��������� � �$��� ������ *��� ��#���� � ���� �����

� ������� ���������� 5���������� �� ��#����� ����� � �� �������� ��,�� �� �������� %��� � �'���� � � �������� ������ ��� ������� � ���� ��� �������� �� ����*��� 5��� %� �� �� ��� ��� ������� �� ��� ��� �� ������� � ����� �� . ������ % �� �������

�'���� ������ �$����� �� ����� �� .� ��� �

5��� %� ��� � � %

�%�%

���� .�� � � %� .

������� �)�

�� 6��� %� �� �� ����� ��� � � % ����� ������� � *��� �� %��� ���� � ��� ����� � ����� ����� �

6��� %� �

��&�.�& � � %

�%� .���

�%&��� .

���& � � %� .

�������������

�@�

����������� � 7�� ��� ������� �8��� 6��� %� � 6��� %� .�� 5��� %� ����� � � %� .�

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4, .)7

5�� .� /������ � �� ���' � �� �������� �! ������

Page 4: A parallel algorithm for the dynamic lot-sizing problem

����� 8��� � � %� .� *� ,��*

6��� %� ��%� .���

�%&��� .

���& ��%� .���������. � ���) �9� �%�. � �%�

� ������. � ���) �9� �%�. � �%�� ���.����) �9� �%�. � �%��9� �%�.�%

!��� �% � -� *� ��$�

6��� %� ��%� )���

�%� .&��� .

���& � �%

�%���� .

�� � 6��� %� .�� 5��� %��

�8� ��� ����%�� �� ��������� �������� � � �� ���� ������� �� ����� �." �� ����*�0

$��� � ��.�&��

6��� &� �=�

�� ���$� ����� �="� 5��� %� ��� 6��� %� �� %� �� �� .� �� %� . ��� �� ������ �� �� ������ � ������������� ��*�� �������� ���'� �� ���*� � 5�� .� (�� ��� ��$���� �� ������� � ���$� ������=" �� ��������� 5��� %� ��� 6��� %� ����� �� /#�� �)" ��� �@" %�� ��� ��� �������� �� �� ����� $����3 ��� �� ���*� �� �� ������� ��� ���� .���) ��� �� ����� �������� ��� ���� .���) ��� �� ��������� ��������� ��� ������'� � �������� �� � ���� ��� (��@�� ��� �� �� �2I�� ��#���� � ���$� �� ����� �=" ���*� $��� �� �� �� �������� � ���������

� � �������� ���������

� �������� ������� ����� �� �� ����� �=" *�� ��������� � � ������� ������� ��$������� � �/"� I��� �� �� *��� ����*��,� �� �/ �������� ��� ���� ��� � �������� � ���������� ������� ������� ����������� �� ��*��,�� �� �� ������� ��������� ������� ���������!��� �� ��$������ ��� ���$�� � �� �� � ��$� ��� $���� �������� � ���$�� ��������� ���������*�� � � ���������� ��� �� ���� ��������� �!�������� .77>"� !���%������ �� 2������� J���������� �2J�" ����� *�� ����� ��� � � �� *��� ����� �� ����*� � ��*��, � �������������������� � �� ���� �� � ����� ����� �������� ������� �!�������� &��� ������� 6������,� .77="�2J� � ����� �$������ � ���� ��4�� ������� ��� ���� ��� ��� ���� *���� ������ �� ��������������� ���������� � �� ������� �� 2J� � ����� �� � K�����?���$�L ��������� ����� ��

����������� ��� ����� ��������� ���� �� ������� ��� �������� �� ����� ������� ����� ������� �� ������ ���' �������� *��� ��� ������������� ������� �� �� ���$� ����������� ��� ������������������ � �� �! ������� ��� �� ��������� �� ����*��2�������� .

!�� . 3������� ������ �������"��." ��$�� �� 2J� �������)" ����� � ����������

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4,.@-

Page 5: A parallel algorithm for the dynamic lot-sizing problem

�@" ;��� ��� �� ��� ��� � � .�9� ��

�=" G������� ��� � ���$� ����������!�� ) ������� �� ������� ����$� ���������"�." !� & � ���)����)" ;���$� ��� ��� ����� ���������@" ��� �� ������� ������� �� $����� � 5��� %� ��� 6��� %� ��� /#�� �)" ��� �@"� *���� ���' � � ��� ���� ."&� ." � ��&" ��� ��� �&� ." � ��� ��� ."&"� *��� ���' % � ��� . � ���=" /��� ������� ����� �� ���������� ������ � �� ����� ��������

!�� @ !������� �� ����� ������ �������"�." ;���$� �� ���' ������� 5��� %� ��� 6��� %� ��� ���$� �����������)" !����� �� ����� ������� ����� $��� � ��.�&�� 6��� &� ���� ��� � �� ������ ��� �������

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4, .@.

5�� )� ��� M�*���� � �� �������� �������� �! ��������

Page 6: A parallel algorithm for the dynamic lot-sizing problem

!�� = ��� ����� ��������� ������� �� ������� ��� ���� �� �������

��� ���������� � �� ������� � �'����� �� �$��� �� ���' ������ �������� � ����� �="�$���� ����� �� ����������� ��� M�*���� � �� ������� � ���*� � 5�� )���� �������� �! ������� ��� ���� ."�C) ��� �� ����� ��� ���� ."�C) ��� �� ��������

��� ��� ������'� � �� �������� �� � (��)�� *���� � � �� ������ � �$������ ���������� ��� �/�!��� ������� � ��� � �� ��� ������ ������� �� �������� �� � %����� � � ��������

�������� �� ������� ��� �� �$������ ����� �� ����*�� ������ �� �� �������� ����������� � ������ � �*��,����� �������� � � �/ ��� ������� � �� ��� �� �� �� �� ��� ��������� ��#���� � ���$� �� ���� ������� ���� � ��#����� �������������" �������� ��� ���

�� � ����� �B�

� ������ �� ������� ������� �N���� .77="� 5�� �� �������� �������� �! �������0 �� � (��)����� �� � (��@�� ��

�� � (��@��(��)�� � (������ �A�!��� �� �� �� ������� � ���� ��� ���� ��� (�."�

� ������������� �������

3� �� ����� �� �������� �'�������� ������ ��� �������� � ����� � $�� � �� ��� ������� � �� �������� �������� ��� ������� �������� *�� ��������� �� � ������� ��*��, � *��,������ ������� � )- !I+��' !���� *��,������ ����� *��,����� *��� �������� $� �� �����%��� ��,� ��� ���� *�� ���������� � 5(;�;�+C>> ���� �� 2J� ������ ��� ������� ���� ��$������ � �� ������� ���� ��#��������� . ���*� �� �2I �� �� � .)<� )BA� B.) ��� .-)= ����� �������� ��� ����������������

���$�� � �� ������� �� $����� ������ � ���������� ��� ���*� � 5�� @� 3 � ���� ������� � ����� ���� ����� ������� *�� ����$��� *��� ����� �� �� �������� ������� ��� �,� ��� ��$������ �� ������� ������� ��*�� �� �� ��� � �� ������� ������������ ����� �� �� �������� �'������� � �� ���� *�� ����� � �� ����� �������� ��

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4,.@)

����� .

�2I �� $����� ������ � ���������� ��� ��0 ������"

+�����

� ������

!����

���������

�*�

����������

5���

����������

/��

����������

�*��$�

����������

!'���

����������

.)< A-�7. =<�>@ ).�)) .-�)) A�B. B�.=

)BA .A>�AB .)>�7> BA�)A )A�== .>�-) .@�-)

B.) =<.�>< @@7�)< .=>�>7 >-�)@ =A�.B @B�B@

.-)= .@=.�)= <=<�<7 @77�.< .7-�)B .)-�.< 7@�B@

Page 7: A parallel algorithm for the dynamic lot-sizing problem

!����� ��� ��:��* �.7<>"� *���� �� ������ � ������ ������ ��� .)<� )BA� B.) ��� .-)=� 5������ ������� ���� %$� ��� � ������� �������� ���� � ���� ������������� �������� ������ *������$��� ��� �$����� �2I �� �%$� ��������� �� ���� ������" ��#���� � ���$� ���� ��� � ��������� *� ������ � �� � ���� ������ � ���������� ���� ����� �� �'������� ��� ���������� ����� .� ��� �������� ������ � �� �������� �'������� ��� ��������� ��� ����� � 5�� @���� ��� ������� � �� �������� ������� � ������$�� ��� ��� ������� ������� ���� � ��

�������� �'������� *�� .=�)= *��� .A *��,����� *��� ���� �� �� 2J� ������ ��� �2I �� ���������� ������ *��� ���� ���������� ��� �$������ ��� ���� ����� ������� *�� ����$��� *�������� �� �� �������� ������� ��� �,� ��� ��$����� � �� ������� ������� ��*�� �� �� ���� �� ������� ��������� &$�� �� � ������� ������� ��$������ � $��� ������ � ����������� ������ ��� 2J� � � �����*���� �� �������� ������� � ��� �� �� ���� ����������� ����$�� �! ���������

� ������ ��� �������

��� ���� ��$������ � �������� �! ������� �� *��,���� ������� ��� �$������ � ��� ����������� ������'� � �� �������� ������� � (��@� �� �� ��#����� $����� ��� � (��)�� �� ���������� $������ *���� � � �� ������ � ����������� +������� ������ �� �� ������� ��� �������*� �� �������� �������� *��� ������� �� ������� � �� ������� ���������� ������� ����������� ������� ������� � %��� ��� ������� � ��� �� ������ ����� �� �� �! ���������� �� 3����� � ������� *���� ��������� � ������� ������� ��$������ � �������

������ � ������ ����� 8��� ���� �� � 2J�� ������� ��* � ����� �������� �������� ��� �� ���� ��,� �� ���� ���*� �� �� ��$������� � �������� ������ � �� �������� ������������� � ������ ��� �������� 5�� �� ������� ������� ������� � ������� ������������������ �� �� ���������� �� ������� �� � %��� �������� ������� � ������� $��� ��� ��������� �������� �'����� ��� � ��� �� �� ���� � ���� ����� � �� �;2 ������

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4, .@@

5�� @� !������ *� $����� ������ � �����������

Page 8: A parallel algorithm for the dynamic lot-sizing problem

����������

� ���,�� 2�� &�$��� G�� 6 :�����,��� I� �.7<="� ������������ � %��� ����� ������ � �� �� O ���� ������� �

������� �������� ������� ���������� �������� 40 �)"� )))?)@7�

�����*��� ��� 6 2��,� �� :� �.77@"� 3����$�� �������� �� ������� �� ��� ��������� �������� ��������� ,- �@"� B=7?

B>.�

G���� &� ;�� ������� �� ��� 6 H������� 9� 9� �.7<="� �����'���� ������ �� �� ���������� ������ �� ���

�������� ���������� �������� 40 �7"� ..).?..=-�

����� /� I�� 6 ����� &� 9� �.7<7"� /�������� ������� �� ������ �� ��� ��������� ��� ���� ��� �������� ���������

-: �@"� .<7?.7@�

������ !� 9�� 6 !������ �� �� �)---"� /;2 ������0 � ����������� �$����� ��������� ������������ ' ���� 5����

���������� �������� / �."� )=?@)�

/$���� �� ;�� !������ ��� 6 ��:��*� �� �.7<7"� � ��� �� ���$�� �� �����$� ��� ������ ������� ������� � �����

����� ��� ' ���� �������� ����������� ; �)"� .B7?.A>�

5���������� ��� 6 ����� �� �.77."� � ����� ��*��� ������� � ���$� ������� ������ �� ���� ������ *� � ����� �

(�� ��� �" �� (��" ��� ���������� �������� 42 �<"� 7-7?7)B�

:�� 9� ��� 6 9���� H� �� �.77<"� ���� ������ ������� ����� �;2 33 ��$������0 �� ����$�� �������� ����� ��� �

������ ���������� ��� ���� ��� ��� ������ !����������� 4< �@?="� .B?.7�

���� ��� &�����,����� ��� 6 :���$������,��� J� �.77B"� ��*���� � ������� ��� � %��� ��$������ �� �������� ������

��� ������������ ' ���� ������� �������� /: �A"� .@@@?.@=.�

N���� �� �� �.77="� =������� ��� ����# ����� ��� ��������� +�* H��,0 ��&��* 9���

;���4�� 9� /�� 6 !��� ;� �� �.777"� 2������� �������� �� ���$�� ��������� ���������� ��������� ��� ���� ���

�������� ��������� /:� 7=.?7B@�

!������ ��� 6 ��:��*� �� �.7<>"� � �� ����������� �������� �� ������� ���� �� 8�����?8�� ��������

=�� ���� ��� �������� ����������� /2 �="� B?.7�

!�������� J� �.77>"� 9����������� ��*��, �������0 ��� ��' ��������� =������� ��� ����� /4� .).?.@B�

!�������� J� !�� &��� &� ��� �������� ��� 6 ������,� ;� �.77="� ��� 2J� ��������� ������� �����0 �$������

�'��������� ��� ������ =������� ��� ����� /0 �="� B@.?B=A�

8��������� ��� 9������ !� J�� 6 :����� �� �.77)"� /������ �� ����0 �� (�� ��� �" ������� �� ���� � ����� �� � ��

8�����?8�� ����� �������� ��������� ,0 �."� 7.=B?7.BA�

8������ 9� ��� 6 8��� �� �� �.7B<"� ����� $����� � �� ������� �� ��� ������ ���������� ��������� <7?7A�

'( )� � �("�( )�� * ��� ���� + ��� ������ !���������� ,- ./00-1 -/23-4,.@=