作者bugu (老實說~我沒空)
看板BIOSTAT
標題Re: [問題] 求解
時間Fri Mar 11 04:15:37 2005
再來玩一下激發靈感
PROGRAM TRY
USE MSIMSL
IMPLICIT NONE
INTEGER :: X(8), Y(8), Constraint, Se(8)
INTEGER :: In1, In2, In3, In4, In5, In6, In7, In8
INTEGER :: Objectold, Objectnew
DATA X/80000,100000,40000,50000,40000,30000,80000,90000/
DATA Y/2000,1400,800,850,1200,390,1500,2200/
Objectold=0
Objectnew=0
DO In1=0, 1
DO In2=0, 1
DO In3=0, 1
DO In4=0, 1
DO In5=0, 1
Do In6=0, 1
DO In7=0, 1
DO In8=0, 1
Constraint=X(1)*In1+X(2)*In2+X(3)*In3+X(4)*In4+X(5)*In5+X(6)*In6+X(7)*In7+X(8)*In8
IF (Constraint<=200000) THEN
Objectnew=Y(1)*In1+Y(2)*In2+Y(3)*In3+Y(4)*In4+Y(5)*In5+Y(6)*In6+Y(7)*In7+Y(8)*In8
IF(Objectnew>Objectold) THEN
Objectold=Objectnew
Se(1)=In1
Se(2)=In2
Se(3)=In3
Se(4)=In4
Se(5)=In5
Se(6)=In6
Se(7)=In7
Se(8)=In8
END IF
END IF
END DO
END DO
END DO
END DO
END DO
END DO
END DO
END DO
WRITE(*,*) Objectold, Se
END PROGRAM TRY
===================================
Output:
4700
1 0 0 0 1 0 1 0
※ 引述《FrancisWang (簡單生活之簡約主義)》之銘言:
: 一集合{ (X1,Y1) (X2,Y2) (X3,Y3)…}
: ΣX不得超過 A
: 求 讓Σ Y為最大值之組合?
: 實例
: 集合 (80000,2000), (100000,1400), (40000,800), (50000,850)
: (40000,1200), (30000,390), (80000,1500), (90000,2200)
: ΣX 最大值為200,000
: 求讓 Σ Y為最大值之組合(集合) 為何?
: what is the effective solution
: ---
: Dr.瑋 教一下啦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.25.201
1F:推 s3011:這是什麼阿^^;218.166.132.138 03/11
2F:推 FrancisWang:(錯愕中) ^^" 140.112.122.14 03/11
3F:推 FrancisWang:閣下的研究精神果然令人折服 140.112.122.14 03/11
4F:推 bugu:談不上~兄台客氣了 ^^ 140.112.25.201 03/12
5F:→ bugu:只是想試試多年沒用的 EXCEL 規劃求解有沒有 bug 140.112.25.201 03/12