7 4求解最優裝載

2021-10-01 14:17:03 字數 533 閱讀 6495

1. 問題描述

有n個貨櫃要裝上一艘載重量為w的輪船,其中貨櫃i(1≤i≤n)的重量為wi。

不考慮貨櫃的體積限制,現要選出盡可能多的貨櫃裝上輪船,使它們的重量之和不超過w。

2. 解題思路
當重量限制為w時,wi越小可裝載的貨櫃個數越多,所以採用優先選取重量輕的貨櫃裝船的貪心思路。

#include

using

namespace std;

// 問題表示

int w=

;//各貨櫃的重量,下邊0不用

int n =

5, w =10;

// 貨櫃的重量上線

int maxw =0;

// 存放最優解的總重量

int x[20]

;// 存放最優解向量

void

solve()

}int

main()

最優裝載問題

現有n個貨櫃要裝進兩艘載重分別為c1,c2的船,其中第i個貨櫃重w i 並且題目保證 i 1nw i c1 c2 問是否存在乙個合理的裝載方案,使得這n個貨櫃都裝進兩艘船,若有請找出一種方案。題目分析 方法1 對於每個貨櫃,都有3種狀態 裝到船1,裝到船2,或者不裝。按照這個思想我們可以列舉所有的n...

最優裝載問題

題目描述 給定一艘容量為c的船,給定一批貨物,貨物i的重量是wi,要求在船不超重的前提下,將盡可能多的貨物裝上船。思路 盡可能多的裝上船,就像活動安排問題一樣,先對貨櫃的重量從小到大排序,在貨櫃重量不超過輪船載重量的情況下先裝輕的,裝上之後在用乙個布林型陣列賦值為1,表示裝上船,方便輸出 inclu...

最優裝載 貪心

最優裝載問題可用貪心演算法求解。採用重量最輕者先裝的貪心選擇策略,可產生最優裝載問題的最優解。template class type void loading int x type w type c,int n include h using namespace std const int max ...