# [Coin-ipopt] Problem with constraint scaling

Fabian Wein fabian.wein at lse.e-technik.uni-erlangen.de
Mon Apr 30 03:54:18 EDT 2007

```Hallo,

I do topology optimization. In the simple mechanic case I have a
density of [0.001,1] for each FEM element. These are my 50 ... 5000
design variables.

My objective is compliace and in the magnitude of 1e-9, therefore
I scale with 1e9

One constraint is the volume, that is the average of all design variables
has to be 0.5. The gradient is constant and the volume fraction.

This works fine but I have quite up to 5 step searches per iteration.

Whenn I add another constraint: the greyness, (1*x)*x and want it to
be < 0.1 the results become very bad but I almost have one linesearch per
iteration.

I checked the constraint multipliers and get:

Case: 1
Volume constraint: 0.5 (upperBound)
f=6.34774e-10 + 3.08881e-10*0.499955
(scaled)                 (unscaled)
Objective...............:   6.3477397510265762e-04    6.3477397510265766e-10
Dual infeasibility......:   2.8413439257233452e-06    2.8413439257233451e-12
Constraint violation....:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   1.3947929198517462e-08    1.3947929198517461e-14
Overall NLP error.......:   2.8413439257233452e-06    2.8413439257233451e-12

-> The volume constraint holds and the function value is quite good!

Case: 2
--------
Volume constraint: 0.5 (upperBound)
Greyness constraint: 0.1 (upperBound)
f=5.1626e-06 + 6.47958e-10*0.0298598 + 4.19506e-06*0.0997833
(scaled)                 (unscaled)
Objective...............:   5.1625958460710324e+00    5.1625958460710321e-06
Dual infeasibility......:   1.4826429092196935e+00    1.4826429092196936e-06
Constraint violation....:   0.0000000000000000e+00    0.0000000000000000e+00
Complementarity.........:   5.8225581174734123e-03    5.8225581174734121e-09
Overall NLP error.......:   1.4826429092196935e+00    1.4826429092196936e-06

The greyness constraint dominates the objective and the volume constraint

---------------
I found no way to control the lagrange multipliers. Do I have to manually
combine the constraint to the function?

Thanks a lot for the help.

Fabian

P.S.: Thanks also for your helpful and quick response last time, Andreas!
I tried the stuff from the HintsAndTrick but that didn't help me this time.

```