# Optimization problem

#### malugo

##### Newbie
I am trying to optimize a length to minimize the weight of an object.
The process runs fine, but the problem is that catia is returning values like 8.345432345mm and takes forever to calculate.
What I would like to know is if there is a way to make the optimizer only calculate the first decimal?
The reason is that this would shorten the time it takes to calculate and also I do not have any use for better precision.

Thankful for any help,
Max

#### MrCATIA

##### Super Moderator
The online Help files have many suggestions to reduce the compute time. Plus, there are some examples of optimizing weight.

(sorry I can't help more, but I don't use this tool)

#### DavidHansson

##### New member
I am trying to optimize a length to minimize the weight of an object.
The process runs fine, but the problem is that catia is returning values like 8.345432345mm and takes forever to calculate.
What I would like to know is if there is a way to make the optimizer only calculate the first decimal?
The reason is that this would shorten the time it takes to calculate and also I do not have any use for better precision.

Thankful for any help,
Max
Hello, I'm no expert on optimization, but I tried it a little.. You deside on your own how long the the optimization will take with the number of updates and maximum time! The longer it takes the more accurate result you will get.

There is a operation called round, that will round a real number to an integer.
So, you can have a parameter that control the length of the object, then you have another parameter of type integer which round the length parameter to an integer. Example: round(length.1) .. To round it to two decimals could be a bit tricky though,, I don't knowe if there's an operation that round a real to two decimals,, if it doesen't exist such operation, you will probably need to make a lot of parameters or a rules that will fix this..

Also, maybe you could change your default unit. Let's say that you now have your object in millimeters, and it's 100 millimeters long, change the unit to micrometers and the object will be of length 100 000 micrometers. Then you can use the "round to integer" without worry about the decimals, this would probably be the easiest solution. You could actually also have a parameter that tell you what the length is in mm using the integer parameter that round the length, example: parameter name: "Length in mm" formula: "Integer.1/1000" ..

Hope this helps and is understandable,, ask again if there's something that sounds strange!