作者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