關於近似裝箱問題的思考。

2022-03-09 02:52:17 字數 1061 閱讀 8055

有這樣乙個需求, 需要對一組元素進行打包(裝箱),箱子的容積一定,但是至少可以裝入一件物品,即使物品的體積大於箱子,求用最少的箱子裝載。

該問題類似裝箱。在對物體發貨時候,可以達到最少的包裹數,挺有實際意義,藉此研究一下裝箱問題。下面**是對與該問題的實現。由於是記錄作用,文筆較為粗糙,後續修正加以詳細說明。

具體實現**如下:

$items = array

( 0.1,0.3,0.8,0.4,0.5,0.2,1);

//sort($items,sort_desc);

defined('boxsize') || define('boxsize',1);

function bestencasement($items

)

//探測盒子是否為空 如果為空將元素加入

if(empty($box[$j

])) }

else

if($tmpsize>0)

else}}

}return

$box;}

print_r(bestencasement($items));

<?php

$items = array

( 0.1,0.3,0.8,0.4,0.5,0.2,1,11,12);

shuffle($items);//

用於亂序測試

//sort($items,sort_desc);

defined('boxsize') || define('boxsize',1);

function bestencasement($items

)

//探測盒子是否為空 如果為空將元素加入

if(empty($box[$j

])) }

else

if($tmpsize>0)

else}}

}return

$box;}

print_r(bestencasement($items));

近似裝箱問題

設給定n項物品,大小為s1,s2,s3,sn,每個物品的都不超過1 現有大小為1的箱子若干個,將物品裝入箱子中,盡量使用少的箱子裝滿所有物品 例項 現有一列物品 0.2,0.5,0.4,0.7,0.1,0.3,0.8 其中一種裝箱方案如下所示 裝箱問題是乙個np完全問題,np完全問題的最優解的時間複...

裝箱問題近似演算法概述

問題描述 一維經典裝箱問題可描述如下 s s1,s2,sn 其中0 si 1,稱之為第i個物體的體積 或重量 1 i n,現有n個容積 或載重量 為1 的箱子,要求如何設法將s1,s2,sn放入盡可能少的箱中。裝箱問題是np問題,即在多項式時間內無法精確求解,一般採用近似演算法,即啟發式演算法,這樣...

關於閏年問題的思考

如果某一年的年份能被4整除,但是不能被100整除,那麼這一年就是閏年,此外能被400整除的年份也是閏年。我對這個問題一直沒有弄清楚,最近經過仔細考量,發現自己以前對這個問題存在兩個思維誤區 1.能被4整除,不能被100整除是閏年。那麼能被4整除,也能被100整除是不是閏年?2.能被400整除 與 能...