Ciura's sequence 1, 4, 10, 23, 57, 132, 301, 701 (from his paper in 2001) is the best known gap sequence for minimizing average number of comparisons for randomly shuffled lists. But he only found terms up to 701.
I attempted to use the same method Ciura used in his paper to find additional terms. I believe I found the next 3 optimal terms: 1504, 3263, 7196, resulting in the following sequence: 1, 4, 10, 23, 57, 132, 301, 701, 1504, 3263, 7196 However, it is increasingly difficult to find larger optimal terms in this sequence. From a practical standpoint, the lowest gap numbers matter the most anyway.
Beyond 7196, instead of searching for more optimal terms, I searched for more terms that are "very good", not necessarily optimal but the best that I could find using limited computing power. Resulting in the following sequence:
1, 4, 10, 23, 57, 132, 301, 701, 1504, 3263, 7196, 15948, 34644, 74428, 162005, 347077, 745919, 1599893, 3446017, 7434649, 15933053
Looking at the ratios between these terms, the ratios generally decrease down to almost 2.14. However, I believe if more larger optimal terms could be found, the ratios between optimal terms would continue to decrease below 2.14.
Beyond 15 million, I gave up trying to find more "very good" terms, and just extended by a constant ratio of 2.22 times the previous term, rounded down. This seemed to work "good enough" for sorting large lists of billions of elements. This results in the following sequence:
1, 4, 10, 23, 57, 132, 301, 701, 1504, 3263, 7196, 15948, 34644, 74428, 162005, 347077, 745919, 1599893, 3446017, 7434649, 15933053, 35371377, 78524456, 174324292, 386999928, 859139840, 1907290444, 4234184785, 9399890222, ...
Based on the work that I did, I believe Ciura's gap numbers up to 701 are optimal, and I believe the next optimal gap number is 1504, but I cannot prove either. A couple other close choices I found for the next gap after 701 are 1541 and 1636. I generated "very good" sequences for each of 1541 and 1636:
1, 4, 10, 23, 57, 132, 301, 701, 1541, 3498, 7699, 17041, 37835, 81907, 179433, 392867, 858419, 1883473, 4081849, 9002887, 19782319, 43916748, 97495180, 216439299, 480495243, 1066699439, 2368072754, 5257121513, 11670809758, ...
and
1, 4, 10, 23, 57, 132, 301, 701, 1636, 3659, 8129, 18118, 40354, 89129, 197803, 443557, 973657, 2131981, 4697153, 10528127, 23135351, 51360479, 114020263, 253124983, 561937462, 1247501165, 2769452586, 6148184740, ...
Both the 1541 and 1636 "less optimal" gap sequences will sometimes use fewer comparisons than the 1504 "more optimal" gap sequence under certain conditions for lists of small enough length.
From a practical point of view, I think Shellsort is an underrated sorting algorithm. Compared to Heapsort, I measured Shellsort to be roughly 5-25% faster for sorting random lists below 1 million in length, but Shellsort becomes increasingly faster than Heapsort at sorting larger lists (because of Heapsort's frequent cache misses). By lengths of 1 billion Shellsort was 2-3x faster than Heapsort on random lists. Shellsort also receives a much larger speed up when sorting nearly sorted/reversed lists compared to Heapsort (likely due to better branch predictions, Heapsort ran about 2x faster while Shellsort ran about 7x faster on nearly sorted/reversed lists compared to random). Shellsort seems to run in nearly O(n log(n)) on average when using a good gap sequence, and while Plaxton, Poonen, and Suel in their 1992 paper proved that Shellsort's worst case run time is at least O(n log(n) * log(n) / (log(log(n)))^2), the extra factor of log(n) / (log(log(n)))^2 grows so slowly it is not a practical issue.
every following gap size is obtained by multiplying the previous gap size by 2.2(not perfect of course)