A SOLUTION FOR THE AGGREGATE PRODUCTION PLANNING PROBLEM IN A MULTI-PLANT, MULTI-PERIOD AND MULTI-PRODUCT ENVIRONMENT
LORENA PRADENAS, CÉSAR ALVAREZ, JACQUES A. FERLAND
In this paper, we introduce a linear mathematical model for the Aggregate Production Planning problem for a forestry company operating several sawmills. Considering different types of raw materials, different production parameters, and a group of sawmills, the industry tries to identify the best levels of production, of subcontracting production, and of inventory to satisfy the demand for different product families in order to maximize its revenue. The linear model is solved efficiently with two linear programming software Cplex 8.1 and Xpress-Optimizer 16.10.02, and numerical results indicate the superiority of the latter.
Viện Toán học, Viện Hàn lâm Khoa học và Công nghệ Việt Nam
Địa chỉ: Số 18 đường Hoàng Quốc Việt, quận Cầu Giấy, Hà Nội
Điện thoại: 024 37563474 - Fax: 024 37564303
Email: vientoan@math.ac.vn
1 x Application (90.2%) | 358ms |
1 x Booting (9.79%) | 38.86ms |
Params | |
---|---|
0 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
Params | |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
select * from `journals` where `jour_alias` = 'pa-solution-for-the-aggregate-production-planning-problem-in-a-multi-plant-multi-period-and-multi-product-environmentp' and `jour_year` = '2009' and `jour_exp` = '34' limit 1
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `members` where `name` is null limit 1
Metadata | |
---|---|
Backtrace |
|
select * from `pages`
Metadata | |
---|---|
Backtrace |
|
select * from `pages`
Metadata | |
---|---|
Backtrace |
|
select * from `pages` where `alias` = 'home' limit 1
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `pages` where `alias` = 'home' limit 1
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select `volume` from `issues` group by `volume`
Metadata | |
---|---|
Backtrace |
|
select * from `volumes` order by `vol_year` desc
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 50
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 49
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 48
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 47
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 46
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 45
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 44
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 43
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 42
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 41
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 40
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 39
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 38
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 37
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3, 4)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 36
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 35
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 34
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 33
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 32
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 6)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 31
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 30
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 29
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 28
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 27
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 26
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 25
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 24
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2, 3)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 23
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 22
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 21
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 20
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 19
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 18
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 17
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 16
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 15
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 14
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 13
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 12
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 11
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 10
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 9
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 8
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 7
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 6
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 5
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 4
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 3
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 2
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
select * from `issues` where `volume` = 1
Metadata | |
---|---|
Bindings |
|
Backtrace |
|
select * from `issues_types` where `issues_types`.`id` in (1, 2)
Metadata | |
---|---|
Backtrace |
|
200
[]
[]
0 of 0array:15 [▼ "accept-encoding" => array:1 [▶ 0 => "gzip, deflate, br, zstd" ] "sec-fetch-dest" => array:1 [▶ 0 => "document" ] "sec-fetch-user" => array:1 [▶ 0 => "?1" ] "sec-fetch-mode" => array:1 [▶ 0 => "navigate" ] "sec-fetch-site" => array:1 [▶ 0 => "none" ] "accept" => array:1 [▶ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [▶ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [▶ 0 => "1" ] "sec-ch-ua-platform" => array:1 [▶ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [▶ 0 => "?0" ] "sec-ch-ua" => array:1 [▶ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [▶ 0 => "no-cache" ] "pragma" => array:1 [▶ 0 => "no-cache" ] "connection" => array:1 [▶ 0 => "keep-alive" ] "host" => array:1 [▶ 0 => "beta.math.ac.vn" ] ]
0 of 0array:41 [▼ "USER" => "www-data" "HOME" => "/var/www" "HTTP_ACCEPT_ENCODING" => "gzip, deflate, br, zstd" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_CONNECTION" => "keep-alive" "HTTP_HOST" => "beta.math.ac.vn" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "beta.math.ac.vn" "SERVER_PORT" => "443" "SERVER_ADDR" => "119.17.215.180" "REMOTE_PORT" => "63939" "REMOTE_ADDR" => "3.147.49.219" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/1.1" "DOCUMENT_ROOT" => "/var/www/math.ac.vn/html/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/acta/2009-volume34/1/pa-solution-for-the-aggregate-production-planning-problem-in-a-multi-plant-multi-period-and-multi-product-environmentp" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/math.ac.vn/html/public/index.php" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743659464.934 "REQUEST_TIME" => 1743659464 ]
[]
0 of 0array:5 [▼ "content-type" => array:1 [▶ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [▶ 0 => "no-cache, private" ] "date" => array:1 [▶ 0 => "Thu, 03 Apr 2025 05:51:05 GMT" ] "set-cookie" => array:2 [▶ 0 => "XSRF-TOKEN=eyJpdiI6IjlJYUJCWklReC90OGRzNEU4RndxS2c9PSIsInZhbHVlIjoiRWV1S0ZuZVVQYUNoNXFEMm1Pd1hYZ01EWEhPVmN3ZUV0RnZzRnFYL3VoQXg5Ym5makJmRWZ5eUdSaEFTS25RS00zQUVXcmY1YTZuSzJ4Q1I1TzhCT1lJOU1FTVFZS2t2cy8xenRDWW9ZbC9TRlFudHEwWStub1lsM0pCUmh0QWsiLCJtYWMiOiJmYWZhNjNkNDM3Y2IwOGMwNGUzMzI4NmU1ODA5NjVhMzUyYjIxZmUwZDgxZDc3MzQ4N2VhZTBmMzE2NGU1ZGNmIiwidGFnIjoiIn0%3D; expires=Thu, 03-Apr-2025 07:51:05 GMT; Max-Age=7200; path=/; samesite=lax ◀XSRF-TOKEN=eyJpdiI6IjlJYUJCWklReC90OGRzNEU4RndxS2c9PSIsInZhbHVlIjoiRWV1S0ZuZVVQYUNoNXFEMm1Pd1hYZ01EWEhPVmN3ZUV0RnZzRnFYL3VoQXg5Ym5makJmRWZ5eUdSaEFTS25RS00zQUVXc ▶" 1 => "laravel_session=eyJpdiI6IitPUUQxL1RpNnNXVmpxdUFxWmxEalE9PSIsInZhbHVlIjoiOS9oSFhRNnliNFFGckhFaFQyNkRnSWliakp2NGs5NGVCclZkclNQcWxVQ21PTm5tNDAwNVpFMk5veThMRE91K3E2RnpxRXBNaWphSkxKQjc5R2VCMHIrbS9vcW9GN0h5Y1UvWjZ0SDV2bmxub2ZRYVFmdWFjVVdoc09WM2JwcTIiLCJtYWMiOiI0ZTJkMmI0NzU3YmU4YTRlZjUzN2IyZmVkM2I1YzZmNzE4NmVjNmUyMTM1N2ZmZWIyNDgyNWExZjU2NTEwMjlkIiwidGFnIjoiIn0%3D; expires=Thu, 03-Apr-2025 07:51:05 GMT; Max-Age=7200; path=/; httponly; samesite=lax ◀laravel_session=eyJpdiI6IitPUUQxL1RpNnNXVmpxdUFxWmxEalE9PSIsInZhbHVlIjoiOS9oSFhRNnliNFFGckhFaFQyNkRnSWliakp2NGs5NGVCclZkclNQcWxVQ21PTm5tNDAwNVpFMk5veThMRE91K3E2 ▶" ] "Set-Cookie" => array:2 [▶ 0 => "XSRF-TOKEN=eyJpdiI6IjlJYUJCWklReC90OGRzNEU4RndxS2c9PSIsInZhbHVlIjoiRWV1S0ZuZVVQYUNoNXFEMm1Pd1hYZ01EWEhPVmN3ZUV0RnZzRnFYL3VoQXg5Ym5makJmRWZ5eUdSaEFTS25RS00zQUVXcmY1YTZuSzJ4Q1I1TzhCT1lJOU1FTVFZS2t2cy8xenRDWW9ZbC9TRlFudHEwWStub1lsM0pCUmh0QWsiLCJtYWMiOiJmYWZhNjNkNDM3Y2IwOGMwNGUzMzI4NmU1ODA5NjVhMzUyYjIxZmUwZDgxZDc3MzQ4N2VhZTBmMzE2NGU1ZGNmIiwidGFnIjoiIn0%3D; expires=Thu, 03-Apr-2025 07:51:05 GMT; path=/ ◀XSRF-TOKEN=eyJpdiI6IjlJYUJCWklReC90OGRzNEU4RndxS2c9PSIsInZhbHVlIjoiRWV1S0ZuZVVQYUNoNXFEMm1Pd1hYZ01EWEhPVmN3ZUV0RnZzRnFYL3VoQXg5Ym5makJmRWZ5eUdSaEFTS25RS00zQUVXc ▶" 1 => "laravel_session=eyJpdiI6IitPUUQxL1RpNnNXVmpxdUFxWmxEalE9PSIsInZhbHVlIjoiOS9oSFhRNnliNFFGckhFaFQyNkRnSWliakp2NGs5NGVCclZkclNQcWxVQ21PTm5tNDAwNVpFMk5veThMRE91K3E2RnpxRXBNaWphSkxKQjc5R2VCMHIrbS9vcW9GN0h5Y1UvWjZ0SDV2bmxub2ZRYVFmdWFjVVdoc09WM2JwcTIiLCJtYWMiOiI0ZTJkMmI0NzU3YmU4YTRlZjUzN2IyZmVkM2I1YzZmNzE4NmVjNmUyMTM1N2ZmZWIyNDgyNWExZjU2NTEwMjlkIiwidGFnIjoiIn0%3D; expires=Thu, 03-Apr-2025 07:51:05 GMT; path=/; httponly ◀laravel_session=eyJpdiI6IitPUUQxL1RpNnNXVmpxdUFxWmxEalE9PSIsInZhbHVlIjoiOS9oSFhRNnliNFFGckhFaFQyNkRnSWliakp2NGs5NGVCclZkclNQcWxVQ21PTm5tNDAwNVpFMk5veThMRE91K3E2 ▶" ] ]
0 of 0array:4 [▼ "_token" => "KZ4Cih0DO50MNGg6phenxEi0WS7l1mOqwDycbft8" "_previous" => array:1 [▶ "url" => "https://beta.math.ac.vn/acta/2009-volume34/1/pa-solution-for-the-aggregate-production-planning-problem-in-a-multi-plant-multi-period-and-multi-product-environmentp ◀https://beta.math.ac.vn/acta/2009-volume34/1/pa-solution-for-the-aggregate-production-planning-problem-in-a-multi-plant-multi-period-and-multi-product-environme ▶" ] "_flash" => array:2 [▶ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]