08/29/14 by Randy Zwitch Code mostly a modification of Harlan's test code
Pkg.clone("https://github.com/HarlanH/VennEuler.jl.git")
using VennEuler
data, labels = readcsv("/home/rzwitch/Desktop/kdnuggets_language_survey_2014.csv", header=true)
data = bool(data)
labels = vec(labels)
#Circles
eo = make_euler_object(labels, data, EulerSpec()) # circles, for now
(minf,minx,ret) = optimize(eo, random_state(eo), ftol=-1, xtol=0.0025, maxtime=120, pop=1000)
println("got $minf at $minx (returned $ret)")
render("/home/rzwitch/Desktop/kd.svg", eo, minx)
# Rectangles
eo = make_euler_object(labels, data, [EulerSpec(:rectangle), EulerSpec(:rectangle, [.5, .5, .4], [0, 0, 0]),
EulerSpec(:rectangle)],
sizesum=.3)
(minf,minx,ret) = optimize_iteratively(eo, random_state(eo), ftol=-1, xtol=0.0025, maxtime=5, pop=100)
println("phase 1: got $minf at $minx (returned $ret)")
(minf,minx,ret) = optimize(eo, minx, ftol=-1, xtol=0.001, maxtime=30, pop=100)
println("phase 2: got $minf at $minx (returned $ret)")
render("/home/rzwitch/Desktop/kd-rects.svg", eo, minx)