Non-integer discrete variables

28 views
Skip to first unread message

Matt Huszagh

unread,
Jun 2, 2020, 2:44:27 PM6/2/20
to pulp-or-discuss
 Hello,

I'm trying to perform circuit optimization for standard resistor, inductor and capacitor values (Wikipedia: E-series). These come in discrete, but not necessarily integer, values. Is there a way to define a variable for which the standard values are taken from a set? From the documentation, it looks like the only 3 options are Integer, Binary and Continuous. If this is not supported, is there some efficiency reason why non-integer, discrete values are not supported?

Any suggestions on how to accomplish this? I'm new to optimization techniques. I've been able to find a lot on continuous optimization and integer optimization, but essentially nothing on non-integer discrete optimization. I can't imagine this is an uncommon request, so there must be some reason for this. Currently, it seems like my best bet is to write a custom branch and bound algorithm with an existing global minimization implementation for the lp relaxation. However, if it's possible to use an existing tool for the discrete optimization I'd prefer that to writing my own.

Thanks.

Stuart Mitchell

unread,
Jun 2, 2020, 6:26:22 PM6/2/20
to pulp-or...@googlegroups.com
Hi you need to set up a Binary 0,1 variable to represent choosing one of the discrete variables.
i.e. if you have a set of resistances

{1,5, 10, 50, 100, 1000}
you would have X0 .. X5 representing if you pick one from that set,

Then if you have to pick only one you place a constraint on these variables

i.e.
X0+X1+X2+X3+X4+X5 = 1

Stu
Stuart Mitchell
PhD Engineering Science
Extraordinary Freelance Programmer and Optimisation Guru


--
New posters to this group are moderated which can take up to 48 hours, so please be patient if your first post takes a while to turn up.
---
You received this message because you are subscribed to the Google Groups "pulp-or-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pulp-or-discu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pulp-or-discuss/8ae713da-5331-41f3-8ed9-2d69cdb2651f%40googlegroups.com.

Matt Huszagh

unread,
Jun 3, 2020, 12:56:19 PM6/3/20
to pulp-or-discuss
Thank you!
To unsubscribe from this group and stop receiving emails from it, send an email to pulp-or...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages