I had previously created a spreadsheet to calculate the swingweight and others based on extra weights on the racquet. Swingweight Calc Spreadsheet
I took it one step further and created a racquet spec auto optimizer using excel and solver.
It works by setting target parameters and allowed deviation and the solver tries to minimise the the total deviation by using the constaint.
To be able to use it, you only need excel and enable solver add-in (don't worry it is already built-in excel) How to install Solver Add-in in Excel
It might look overwhelming to use at first but it is quite simple. You need to fill all the cells highlighted as input then click the solver button under the data tab, and click solver button. It will show you how much weight you should add the required length.
There are a few parameters you can adjust:
1. Use in Solver (True/False) Left hand side: These are to decide if you want to use the parameters in the calculation. Select false if you don't want to customise your racquet at that section of your racquet (such as if you don't want to remove your grip select False in the row of "Add Handle".) Selecting True doesn't mean that you have to add there but the solver will consider it for the solution
2. Use Constraint (True/False) Right hand side: Use them to constaint the solver for which targets you want to achieve. This part is critical because if you select True for everything, sovler will try to match your racquet for all the targets and the calculation may take minutes/hours. If you set any of these to False, no matter what you put to the respective target and tolerance, they won't be included in the optimisation.
3. Original/Target /Tolerance: Original is the measurements of your racquet before any customisation, Targets are what you want to achieve, Tolerances are the allowance +- from that target. If you let the tolerances very low, the model my not find a solution. That's why it is important to leave some high at first and then you can try decreasing later. For example if you want your final swingweight to be 335 and you let it +-1, set the target 335 and enter 1 in tolerance.
4. Manual Section: Use this part for your existing customisations such as overgrip etc. Be mindful that they will affect the calculation, and if your original measurements already include things like overgrip, don't add them here again. It shows the results of these manual customisations in the column P (After manual).
5. Max Weight Allowed/Min Length to add weight/Max Length to add weight: First one limits how much weight the solver can add to reach the target to the Respective position. The others are to limit the positions in the frame. Set maximum based on your frame's length or use them if you want the weights to be added to specific positions. For buttcap and handle I fixed the positions as 0.5 and 10 cm. The rest can be adjusted.
I modeled the solver to add 0.5g increments of weight and 0.5 cm for the positions. If you click solver and it cannot find a feasible solution, it might mean you set some tolerance too low. The easiest thing would be to relax the tolerance of weight (or others) or set the use constraint to False. Repeat this until solver finds a feasible solution.
I wish I could have made it more user friendly but this is the best I could do
Link to the file. P.S. It won't work if you open it in drive, you need to download and open in excel.
Racquet Customiser_v1
Racquet Customiser_v2 (added weight increment option for each location)
I took it one step further and created a racquet spec auto optimizer using excel and solver.
It works by setting target parameters and allowed deviation and the solver tries to minimise the the total deviation by using the constaint.
To be able to use it, you only need excel and enable solver add-in (don't worry it is already built-in excel) How to install Solver Add-in in Excel
It might look overwhelming to use at first but it is quite simple. You need to fill all the cells highlighted as input then click the solver button under the data tab, and click solver button. It will show you how much weight you should add the required length.
There are a few parameters you can adjust:
1. Use in Solver (True/False) Left hand side: These are to decide if you want to use the parameters in the calculation. Select false if you don't want to customise your racquet at that section of your racquet (such as if you don't want to remove your grip select False in the row of "Add Handle".) Selecting True doesn't mean that you have to add there but the solver will consider it for the solution
2. Use Constraint (True/False) Right hand side: Use them to constaint the solver for which targets you want to achieve. This part is critical because if you select True for everything, sovler will try to match your racquet for all the targets and the calculation may take minutes/hours. If you set any of these to False, no matter what you put to the respective target and tolerance, they won't be included in the optimisation.
3. Original/Target /Tolerance: Original is the measurements of your racquet before any customisation, Targets are what you want to achieve, Tolerances are the allowance +- from that target. If you let the tolerances very low, the model my not find a solution. That's why it is important to leave some high at first and then you can try decreasing later. For example if you want your final swingweight to be 335 and you let it +-1, set the target 335 and enter 1 in tolerance.
4. Manual Section: Use this part for your existing customisations such as overgrip etc. Be mindful that they will affect the calculation, and if your original measurements already include things like overgrip, don't add them here again. It shows the results of these manual customisations in the column P (After manual).
5. Max Weight Allowed/Min Length to add weight/Max Length to add weight: First one limits how much weight the solver can add to reach the target to the Respective position. The others are to limit the positions in the frame. Set maximum based on your frame's length or use them if you want the weights to be added to specific positions. For buttcap and handle I fixed the positions as 0.5 and 10 cm. The rest can be adjusted.
I modeled the solver to add 0.5g increments of weight and 0.5 cm for the positions. If you click solver and it cannot find a feasible solution, it might mean you set some tolerance too low. The easiest thing would be to relax the tolerance of weight (or others) or set the use constraint to False. Repeat this until solver finds a feasible solution.
I wish I could have made it more user friendly but this is the best I could do
Link to the file. P.S. It won't work if you open it in drive, you need to download and open in excel.
Racquet Customiser_v2 (added weight increment option for each location)
Last edited: