12174b6f20 
							
						 
					 
					
						
						
							
							Persist VNS calculation progress whenever an improvement has been made  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / check-licenses (pull_request) Failing after 1m44s 
				
			 
		
			
				
	Run unit tests / rubocop (pull_request) Failing after 1m46s 
				
			 
		
			
				
	Run unit tests / copyright_notice (pull_request) Successful in 2m8s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Failing after 3m30s 
				
			 
		
			
				
	Run unit tests / build-static-assets (pull_request) Has been skipped 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-09-08 22:44:54 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							ac659bef86 
							
						 
					 
					
						
						
							
							Update Tables::Distribution#save! to consider that the distribution may already be persisted  
						
						
						
						
					 
					
						2025-09-08 15:51:43 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							81f1e79b6d 
							
						 
					 
					
						
						
							
							Merge branch 'main' into vns-perturbations  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / rubocop (pull_request) Successful in 1m4s 
				
			 
		
			
				
	Run unit tests / check-licenses (pull_request) Successful in 1m28s 
				
			 
		
			
				
	Run unit tests / copyright_notice (pull_request) Successful in 3m7s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 5m28s 
				
			 
		
			
				
	Run unit tests / build-static-assets (pull_request) Successful in 30m6s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-07-24 11:45:19 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							db85580c1f 
							
						 
					 
					
						
						
							
							Introduce a wheel swap perturbation as part of the VNS engine process  
						
						
						
						
					 
					
						2025-07-24 13:41:01 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							b1df5d2f53 
							
						 
					 
					
						
						
							
							Shuffle guests in WheelSwap before assigning them to new tables  
						
						
						
						
					 
					
						2025-07-23 11:01:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							a1f06dae5b 
							
						 
					 
					
						
						
							
							Define a WheelSwap class that randomly swaps one guest from each table  
						
						
						
						
					 
					
						2025-07-23 10:22:41 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							e8a88b50e2 
							
						 
					 
					
						
						
							
							Initialize Tables::WheelSwap class  
						
						
						
						
					 
					
						2025-07-22 16:26:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							036cc57aa2 
							
						 
					 
					
						
						
							
							Introduce an invitations penalty for solutions that split guests in the same invitation  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / check-licenses (pull_request) Successful in 1m8s 
				
			 
		
			
				
	Run unit tests / rubocop (pull_request) Successful in 1m38s 
				
			 
		
			
				
	Run unit tests / copyright_notice (pull_request) Successful in 2m23s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 4m39s 
				
			 
		
			
				
	Run unit tests / build-static-assets (pull_request) Successful in 9m51s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-07-22 15:33:13 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							03e09c74a0 
							
						 
					 
					
						
						
							
							Rubocop fixes  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / copyright_notice (pull_request) Successful in 54s 
				
			 
		
			
				
	Run unit tests / check-licenses (pull_request) Successful in 1m14s 
				
			 
		
			
				
	Run unit tests / rubocop (pull_request) Successful in 1m24s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 4m10s 
				
			 
		
			
				
	Run unit tests / build-static-assets (pull_request) Successful in 12m27s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-07-18 16:09:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							da51a073cc 
							
						 
					 
					
						
						
							
							Define a benchmark to measure the VNS performance and prevent redundant hierarchy calculations  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / copyright_notice (pull_request) Successful in 38s 
				
			 
		
			
				
	Run unit tests / rubocop (pull_request) Failing after 58s 
				
			 
		
			
				
	Run unit tests / check-licenses (pull_request) Successful in 1m0s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m14s 
				
			 
		
			
				
	Run unit tests / build-static-assets (pull_request) Successful in 14m33s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-07-18 16:05:02 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2147d7ad5e 
							
						 
					 
					
						
						
							
							Redo simulations lifecycle ( #222 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / rubocop (push) Successful in 27s 
				
			 
		
			
				
	Run unit tests / check-licenses (push) Successful in 32s 
				
			 
		
			
				
	Run unit tests / copyright_notice (push) Successful in 36s 
				
			 
		
			
				
	Run unit tests / unit_tests (push) Successful in 1m22s 
				
			 
		
			
				
	Run unit tests / build-static-assets (push) Successful in 10m9s 
				
			 
		
		
	 
 
	 
						
						## Why
The current way of creating and deleting simulations doesn't scale for big instances. We cannot generate 50 simulations every time a guest confirms attendance, and we should not delete existing valuable simulations. For example, if a guest confirms attendance and declines right after, previously generated simulations should still be valid.
## What
In this PR we are introducing a series of changes that make simulations management easier:
1. We're removing the automatic creation of simulations.
2. Simulations are not removed anymore, neither manually nor automatically.
3. A new endpoint has been defined to create simulations on demand.
4. A digest property has been defined to determine whether a simulation is still valid (meaning there have not been any change in the list of guests involved).
Reviewed-on: #222 
Co-authored-by: Manuel Bustillo <bustikiller@bustikiller.com>
Co-committed-by: Manuel Bustillo <bustikiller@bustikiller.com> 
						
						
					 
					
						2025-01-26 12:53:21 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8c12884212 
							
						 
					 
					
						
						
							
							Add copyright notice  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 1m38s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 3m16s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 5m31s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 41m31s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-23 21:34:23 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							6cead51bb9 
							
						 
					 
					
						
						
							
							Remove all copyright notices to force recreation  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 1m25s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 3m0s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 4m54s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 45m24s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-23 22:29:26 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							74ca20d3e8 
							
						 
					 
					
						
						
							
							Add copyright notice  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 1m22s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 2m5s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 3m45s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Has been cancelled 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-23 21:18:12 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1f0c6c2aac 
							
						 
					 
					
						
						
							
							Use group affinities in discomfort calculator  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 50s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m11s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m58s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 19m18s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-19 20:58:42 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							91bbae1c63 
							
						 
					 
					
						
						
							
							Add copyright notice  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 59s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 2m21s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 3m2s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 25m17s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-13 20:38:47 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							e20a366410 
							
						 
					 
					
						
						
							
							Update copyright assignment to cover 2025 and include all contributors  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 56s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m36s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 3m56s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 28m26s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2025-01-13 21:37:02 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							55e6cfcd36 
							
						 
					 
					
						
						
							
							Fix order of Ruby's magic string comment and Copyright assignment  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Failing after 1m53s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Failing after 3m11s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 3m16s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-12-28 18:37:47 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							02fcd03b0e 
							
						 
					 
					
						
						
							
							Run Rubocop autocorrect on app/services  
						
						
						
						
					 
					
						2024-12-28 18:20:09 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							6c6ae62e5a 
							
						 
					 
					
						
						
							
							Define model and endpoints to store affinity between group pairs  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 1m7s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m18s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 2m16s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-12-26 20:29:06 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							3bfe889747 
							
						 
					 
					
						
						
							
							Redo TablesArrangements#show to display arrangement ID and discomfort breakdown  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / check-licenses (pull_request) Successful in 32s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m4s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 2m33s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-12-16 18:52:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							bd5c4f5482 
							
						 
					 
					
						
						
							
							Merge first and last name and expose guest update endpoint  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 1m42s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 3m5s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 5m4s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-11 07:55:03 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5b36526c59 
							
						 
					 
					
						
						
							
							Increase penalty for tables under minimum capacity  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 56s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 2m1s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 3m44s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 18:40:26 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1fcca38576 
							
						 
					 
					
						
						
							
							Implement shift perturbation  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 51s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 2m11s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 56s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 17:53:52 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							29d9d21916 
							
						 
					 
					
						
						
							
							Use sets instead of arrays to represent tables  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 44s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 59s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m33s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 17:30:01 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							021b82b28e 
							
						 
					 
					
						
						
							
							Use average discomfort instead of sum  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 1m1s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m29s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 2m14s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 11:34:26 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f3b70f5a31 
							
						 
					 
					
						
						
							
							Apply a penalty if table sizes are not honored  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 33s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 47s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m18s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 11:22:51 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							19d309a2cf 
							
						 
					 
					
						
						
							
							Modify initial distribution of tables to guarantee there is no single-person table  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Check usage of free licenses / build-static-assets (pull_request) Successful in 35s 
				
			 
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 1m7s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m44s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-10 10:16:22 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d37dd44cd3 
							
						 
					 
					
						
						
							
							Update discomfort calculator to use group ids  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 52s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 1m23s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 16m27s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-11-01 12:04:15 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							b7cabc1661 
							
						 
					 
					
						
						
							
							Add copyright notice  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Add copyright notice / copyright_notice (pull_request) Successful in 3m21s 
				
			 
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 2m49s 
				
			 
		
			
				
	Build Nginx-based docker image / build-static-assets (pull_request) Successful in 31m54s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-10-27 21:42:45 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							7f12fcba18 
							
						 
					 
					
						
						
							
							Implement a cache at table level to avoid duplicate evaluations  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / unit_tests (pull_request) Successful in 4m35s 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2024-08-01 21:14:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2dd11bb83d 
							
						 
					 
					
						
						
							
							Initial tests for the swap class  
						
						
						
						
					 
					
						2024-08-01 20:45:01 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8c4e6a0109 
							
						 
					 
					
						
						
							
							Initial version of VNS algorithm ( #8 )  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Run unit tests / unit_tests (push) Successful in 3m36s 
				
			 
		
		
	 
 
	 
						
						Reviewed-on: #8 
Co-authored-by: Manuel Bustillo <bustikiller@bustikiller.com>
Co-committed-by: Manuel Bustillo <bustikiller@bustikiller.com> 
						
						
					 
					
						2024-08-01 18:27:41 +00:00