RosettaCodeData/Task/Knapsack-problem-0-1/Ursala/knapsack-problem-0-1.ursala
Ingy döt Net d066446780 langs a-z
2013-04-10 22:43:41 -07:00

44 lines
844 B
Text

#import std
#import nat
#import flo
#import lin
#import nat
items = # name: (weight,value)
<
'map': (9,150),
'compass': (13,35),
'water': (153,200),
'sandwich': (50,160),
'glucose': (15,60),
'tin': (68,45),
'banana': (27,60),
'apple': (39,40),
'cheese': (23,30),
'beer': (52,10),
'suntan cream': (11,70),
'camera': (32,30),
't-shirt': (24,15),
'trousers': (48,10),
'umbrella': (73,40),
'waterproof trousers': (42,70),
'waterproof overclothes': (43,75),
'note-case': (22,80),
'sunglasses': (7,20),
'towel': (18,12),
'socks': (4,50),
'book': (30,10)>
system =
linear_system$[
binaries: ~&nS,
lower_bounds: {'(slack)': 0.}!,
costs: * ^|/~& negative+ float@r,
equations: ~&iNC\400.+ :/(1.,'(slack)')+ * ^|rlX/~& float@l]
#show+
main = ~&tnS solution system items