Commit Graph

219 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 6a2c04c3ee Update algorithm parameters to sensible values
Can now be put to values close to what the paper recommends
2020-03-25 15:59:06 +01:00
Mael Rouxel-Labbé a2f8dcf034 Misc minor fixes 2020-03-25 15:58:23 +01:00
Mael Rouxel-Labbé fbfec59341 Add post-processing: 2D optimization along OBB axes 2020-03-25 15:25:59 +01:00
Mael Rouxel-Labbé 0c2b32ea48 Don't generate a new population at each generation...
Obviously, the algorithm is now much more efficient.
2020-03-25 14:47:57 +01:00
Mael Rouxel-Labbé 09c9c3044d Fix not propagating traits to CH3 code 2020-03-24 15:54:44 +01:00
Mael Rouxel-Labbé 170e3dd68b Fix traits model 2020-03-24 15:54:32 +01:00
Mael Rouxel-Labbé d19f48a4e1 Misc improvements 2020-03-24 15:50:16 +01:00
Mael Rouxel-Labbé 2cce770aab Add missing random mutations 2020-03-24 15:39:22 +01:00
Mael Rouxel-Labbé 631c87e933 OBB's concept must refine ConvexHullTraits_3 2020-03-24 15:38:02 +01:00
Mael Rouxel-Labbé 5069bcf813 Minor internal API changes 2020-03-24 11:54:15 +01:00
Mael Rouxel-Labbé 6f90060e7d Flush before std::exit (otherwise nothing is printed) 2020-03-24 11:37:55 +01:00
Mael Rouxel-Labbé 5a7204decb Use a random seed by default (and not rng(0)) 2020-03-24 11:35:09 +01:00
Mael Rouxel-Labbé 64d23ad89a Example improvements 2020-03-24 11:30:51 +01:00
Mael Rouxel-Labbé dc3c63e2fe Fix bad list initialization 2020-03-24 11:24:59 +01:00
Mael Rouxel-Labbé cdefac0821 Update OBB's Benchmarks/Examples/Tests/CMakeLists.txt 2020-03-24 11:24:28 +01:00
Mael Rouxel-Labbé 06df761de1 Use a random seed by default (instead of a fixed seed of 0) 2020-03-24 10:51:27 +01:00
Mael Rouxel-Labbé 25ac723c65 Don't recompute the weight every time 2020-03-24 10:51:10 +01:00
Mael Rouxel-Labbé f2303df4df Misc minor changes 2020-03-24 10:50:16 +01:00
Mael Rouxel-Labbé dceea8a20e Remove unused variable 2020-03-24 10:25:28 +01:00
Mael Rouxel-Labbé 8652d9ada3 General improvements to improve speed (x3 faster with this) 2020-03-23 18:31:09 +01:00
Mael Rouxel-Labbé 3c5df657d4 Fix namespace of GetPointMap 2020-03-23 08:59:56 +01:00
Mael Rouxel-Labbé dd2adcb581 Tiny internal function API change 2020-03-13 13:25:48 +01:00
Mael Rouxel-Labbé 8783547205 Make traits function static 2020-03-13 13:24:26 +01:00
Mael Rouxel-Labbé a7f0473c5c Fix most of the tests
(at least the compilation...)
2020-03-13 13:24:03 +01:00
Mael Rouxel-Labbé 9df21ba79d Add the new examples to examples.txt 2020-03-13 12:08:55 +01:00
Mael Rouxel-Labbé c545e5ebb2 Remove python script from benchmarks 2020-03-13 12:03:53 +01:00
Mael Rouxel-Labbé 48a39929ff Illustrate 'use_convex_hull' named parameter usage in an example 2020-03-13 12:00:13 +01:00
Mael Rouxel-Labbé ff8b274089 Keep a single (fixed) benchmark program 2020-03-13 11:59:47 +01:00
Mael Rouxel-Labbé 9020240152 Remove useless typedefs 2020-03-13 11:58:20 +01:00
Mael Rouxel-Labbé 85fd88ac5c Remove bench that is just a duplicate of an example 2020-03-13 11:02:50 +01:00
Mael Rouxel-Labbé d9c7814f72 Add default constructor to functor to please the AABB tree 2020-03-13 10:42:31 +01:00
Mael Rouxel-Labbé 8e00ffff21 Enable passing a point_map in complement to the range 2020-03-12 22:21:45 +01:00
Mael Rouxel-Labbé 2453e7f0ea Add two new examples to OBB/examples 2020-03-12 22:21:11 +01:00
Mael 384123b3b3
Add missing space 2020-02-03 13:19:44 +01:00
Mael Rouxel-Labbé 24a696d0ae Remove a dot 2020-02-03 11:05:53 +01:00
Mael Rouxel-Labbé 5f1eed5048 Doc fixes 2020-01-31 12:14:11 +01:00
Mael Rouxel-Labbé c483680ad8 Fixes after review #2 2020-01-29 13:18:42 +01:00
Mael Rouxel-Labbé ae19de584a Change after review 1
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Optimal_bounding_box/1st_round/Answer_to_review_1
2020-01-10 10:41:04 +01:00
Mael Rouxel-Labbé a9b1701980 Move concept out of ::CGAL:: namespace 2020-01-07 17:00:45 +01:00
Mael Rouxel-Labbé f883bc9c23 Fix some header includes 2020-01-07 15:59:21 +01:00
Mael Rouxel-Labbé 011bdc865b Various minor doc fixes 2020-01-07 15:52:22 +01:00
Mael Rouxel-Labbé 99128f9c20 Add point_map to OBB's NP 2019-12-12 12:30:16 +01:00
Mael Rouxel-Labbé 03aad10541 Generalize oriented_bounding_box to Range + point_map
Doc only, implementation later
2019-12-12 12:26:27 +01:00
Mael Rouxel-Labbé 528b9b6949 Misc tiny changes 2019-12-12 12:25:46 +01:00
Mael Rouxel-Labbé ba99311da5 Simplify OBB concept, remove useless determinant() need 2019-12-12 11:19:13 +01:00
Mael Rouxel-Labbé aa8efee5c1 Fix concept link 2019-12-12 11:17:36 +01:00
Mael Rouxel-Labbé b637512952 Tiny concept unification 2019-12-12 09:53:45 +01:00
Mael d2072be626
Add missing license 2019-12-11 09:08:29 +01:00
Mael Rouxel-Labbé 1ef4ac905b Clean example 2019-12-10 15:57:58 +01:00
Mael Rouxel-Labbé 47b483a11e Tiny doc fixes 2019-12-10 15:57:21 +01:00
Mael Rouxel-Labbé f476132cab Partial test fixes 2019-12-10 15:50:50 +01:00
Mael Rouxel-Labbé feddb97792 Update dependencies 2019-12-10 15:19:52 +01:00
Mael Rouxel-Labbé ffc7e9a934 Minor doc changes 2019-12-10 14:40:47 +01:00
Mael Rouxel-Labbé bb7bb9721b Traits doesn't need to refine Kernel 2019-12-10 13:41:59 +01:00
Mael Rouxel-Labbé 4020a8fb0d Add biblio for the paper 2019-12-10 13:41:37 +01:00
Mael Rouxel-Labbé 0ae811604a Update code/doc after pre-review 2019-12-10 13:32:55 +01:00
Mael Rouxel-Labbé db943b3b6f Doc changes 2019-12-09 19:10:28 +01:00
Mael Rouxel-Labbé 6923b144f8 Add optimal bounding box traits concept 2019-12-09 18:49:22 +01:00
Mael Rouxel-Labbé 566b6e89fb Doc changes 2019-12-09 18:43:46 +01:00
Mael Rouxel-Labbé 9af73856a7 Add missing header includes 2019-12-09 16:38:42 +01:00
Mael Rouxel-Labbé 325a95f5f1 Add missing */ 2019-12-09 16:38:25 +01:00
Mael Rouxel-Labbé bafb8e2f7e Add some documentation 2019-12-09 16:34:22 +01:00
Mael Rouxel-Labbé 60845f601d Move files to better locations 2019-12-09 12:46:01 +01:00
Mael Rouxel-Labbé da726d1c3c Add a basic example 2019-12-09 12:27:27 +01:00
Mael Rouxel-Labbé 51e965e1dc Rewrite most of OBB code to fix design issues and bugs 2019-12-09 12:25:38 +01:00
Mael Rouxel-Labbé cd4123bf2c Clean code (partial) 2019-12-04 11:33:36 +01:00
Mael Rouxel-Labbé 96088397a9 Add missing package info 2019-10-20 21:03:00 +02:00
Mael Rouxel-Labbé 2ef6e31010 Add doc skeleton 2019-10-20 21:02:27 +02:00
Mael Rouxel-Labbé 1348d433f0 Update CMakeLists 2019-10-20 20:54:20 +02:00
Mael Rouxel-Labbé 06b167d6cc Change maintainer 2019-10-20 20:45:13 +02:00
Mael Rouxel-Labbé f6f0f98853 Added an error message when no traits are provided 2018-07-08 14:18:41 +02:00
Mael Rouxel-Labbé 53eff19e67 Renamed functions 2018-07-08 14:18:41 +02:00
Konstantinos Katrioplas 280568e1dd move nelder-mead function out of evolution class into the nelder_mead_functions.h 2018-06-12 12:14:22 +02:00
Mael Rouxel-Labbé f8a3b552d3 Cosmetic changes 2018-06-11 16:54:37 +02:00
Mael Rouxel-Labbé 9d5a83ebf6 Renamed header 2018-06-11 16:32:59 +02:00
Konstantinos Katrioplas f60ca1c3f9 remove warnings 2018-06-11 16:16:36 +02:00
Konstantinos Katrioplas 6fd928def0 added forgotten const qualifiers 2018-06-11 14:46:56 +02:00
Konstantinos Katrioplas 7803481af9 requested changes: impoving API with default Linear algebra traits, better use of template parameters at free functions, prefer using convex hull overload which does not depend on the kernel. 2018-06-11 14:46:56 +02:00
Andreas Fabri d35b15bf08 typo 2018-06-11 14:46:56 +02:00
Andreas Fabri c5e5ad7015 Move #include 2018-06-11 14:46:56 +02:00
Andreas Fabri 8a544b8dad Move typedef to the right scope 2018-06-11 14:46:56 +02:00
Andreas Fabri 4defa4ebbc one less size_t/int warning 2018-06-11 14:46:55 +02:00
Andreas Fabri 0640743adc Don't copy the vector 2018-06-11 14:46:55 +02:00
Andreas Fabri ff07272ef6 Use CGAL::abs 2018-06-11 14:46:55 +02:00
Andreas Fabri fe2f1b7e9d fix include guards 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas ca1d427dc5 remove mutable and fix small typo 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas 284c2d9d33 python script setting up path 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas 00c782b277 documentation 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas 0c215dfecb use a matrix with dynamic rows and columns are run time for points, because it is a little faster than fixed columns 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas 820e9c6098 return precompiled 3-column row only & some cleaning 2018-06-11 14:46:55 +02:00
Konstantinos Katrioplas 1ea3fc26c9 I hate c++ 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas bb284396d2 benchmark code and benchmark on fitness function 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas d1865ac913 draw perfomance graph 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 819e38d6a1 making sure that all matrix allocations happen at compile time when possible 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 10c87d3326 API linear algebra parameter 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 62327b28f0 cleaning 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 63e1a12924 clear warnings & clean eigen eigen linear algrebra traits 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 5380ebac1b eigen linear algebra traits 2018-06-11 14:46:54 +02:00
Konstantinos Katrioplas 2571c7719e abstract interface for eigen dense matrix 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas 8f497d664f benchmarks 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas 7b79685c27 cleaning 2018-06-11 14:46:53 +02:00
Andreas Fabri 0fef43ef03 Do not do a matrix-matrix multiplication, but do N matrix-vector multiplications as we only want min and max 2018-06-11 14:46:53 +02:00
Andreas Fabri eb9cb4b8eb VC++ has a problem accessing matrix entries with operator() 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas 91e49fe995 cleaning 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas 37446e4672 cleaning 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas 319c8079ad stopping criteria on generations 2018-06-11 14:46:53 +02:00
Konstantinos Katrioplas f2c774d327 use convex hull 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 07a6d3ae4d cleaning 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 01b6ce0c57 polyhedron demo plugin 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 617051fbf5 tests 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas ea994650ec it works! 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 1ef55a86f8 visualization 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas efbb1be890 genetic algorithm 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 704c3b77c6 nelder-mead algorithm 2018-06-11 14:46:52 +02:00
Konstantinos Katrioplas 3e73216092 population class 2018-06-11 14:46:51 +02:00
Konstantinos Katrioplas 82aeb8336f centroid function 2018-06-11 14:46:51 +02:00
Konstantinos Katrioplas 460a17f950 simplex functions refection, contraction, etc 2018-06-11 14:46:51 +02:00
Konstantinos Katrioplas 4f64c44c83 fitness function 2018-06-11 14:46:51 +02:00
Konstantinos Katrioplas 5141abe2c3 qr factorization 2018-06-11 14:46:51 +02:00