Skip to main content
Scientific Reports logoLink to Scientific Reports
. 2021 Jun 21;11:12976. doi: 10.1038/s41598-021-92451-1

Convex restrictions in physical design

Guillermo Angeris 1,, Jelena Vučković 1, Stephen Boyd 1
PMCID: PMC8217551  PMID: 34155295

Abstract

In a physical design problem, the designer chooses values of some physical parameters, within limits, to optimize the resulting field. We focus on the specific case in which each physical design parameter is the ratio of two field variables. This form occurs for photonic design with real scalar fields, diffusion-type systems, and others. We show that such problems can be reduced to a convex optimization problem, and therefore efficiently solved globally, given the sign of an optimal field at every point. This observation suggests a heuristic, in which the signs of the field are iteratively updated. This heuristic appears to have good practical performance on diffusion-type problems (including thermal design and resistive circuit design) and some control problems, while exhibiting moderate performance on photonic design problems. We also show in many practical cases there exist globally optimal designs whose design parameters are maximized or minimized at each point in the domain, i.e., that there is a discrete globally optimal structure.

Subject terms: Photonic crystals, Applied mathematics, Computer science

Introduction

Computer-aided physical design has become an important tool in many fields including photonics1,2, mechanical design3, circuit design4,5, and thermal design6,7. In many cases, the design problem is formulated as a constrained nonconvex optimization problem which is then approximately minimized using local optimization methods such as ADMM8, evolutionary algorithms5, and the method of moving asymptotes6, among many others.

More generally, a physical design problem can be phrased in the following way: we are allowed to choose some design parameters (e.g., the permittivity in photonic design or the conductances in diffusion design) at each point in a domain, within some limits, in order to minimize an objective function of the field (this can be, e.g., the electric field in photonic design, or a vector containing the potentials, flows, and potential differences in diffusion design). The constraints specify the physics of the problem, connecting the design variables to the field variables (e.g., Maxwell’s equations in photonics, or a diffusion equation such as the heat equation in diffusion design). We note that, in many cases, the physics constraints are linear equations in the field variables (when the design parameters are held constant), and linear equations in the design parameters (when the fields are held constant), which has led to some heuristics with good performance8.

There has been recent interest in understanding global properties of solutions for physical design problems: lower bounds for optimal design objectives in photonic design have been studied via the use of convex relaxations found by physical arguments9,10, duality theory1113, among others14. We instead analyze a convex restriction (see15, Sect. 2.1) of the physical design problem, potentially providing another approach for analyzing properties of global solutions and for creating fast heuristics.

In this paper, we consider a simple (but very general) formulation of a class of physical design problems which includes problems in thermal design, photonic inverse design with scalar fields and convex objectives, and some types of control problems. This formulation offers some insights into the properties of global solutions for these problems. For example, in many practical cases, problems with linear objectives can be shown to have optimal extremal designs (in the case of physical design) or bang-bang controls (in the case of control). As another example, we observe that it suffices to know only the sign of a subset of variables in order to globally solve the problem efficiently, even though the original problem is NP-hard. The formulation also suggests a heuristic which appears to have good performance for many kinds of physical design problems, and we give numerical examples of this heuristic applied to a few different problems.

General problem formulation

We consider a problem of the form

minimizef(x,u,v)subjectto(x,u,v)Cu=diag(θ)vθminθθmax, 1

where f:Rn×Rm×RmR is a convex function over our variables xRm and u,vRn, CRn×Rm×Rm is a convex constraint set, and θRn is our design variable whose limits are θmin,θmaxRn. While apparently simple, many physical design problems can be expressed as instances of problem (1); we show a few examples in the “Applications” section. We call (xuv) the field (corresponding to, e.g., the electric field in photonic design) and θ the design parameters (corresponding to, e.g., the permittivity in photonic design). We say that θ is extremal whenever θi{θimin,θimax} for each i=1,,m. The physics of the problem is encoded in the constraints (x,u,v)C and u=diag(θ)v.

In this problem, the convex set C can be any convex set specifying constraints on the variables (xuv), such as linear equality constraints. On the other hand, the design parameters θ enter in a very specific way: as a diagonal term relating u and v. Another way to say this is that each design parameter θi is the ratio of two field parameters, ui and vi.

We note that the problem (1) is convex in (xuv) whenever θ is fixed, and convex in (x,u,θ) whenever v is fixed. In practice, there has been great success in applying heuristics for approximately minimizing instances of (1) using this observation16.

Absolute upper bound formulation

Problem (1) is equivalent to

minimizef(x,u,v)subjectto(x,u,v)Cu=diag(θ¯)v+diag(ρ)w|w||v|, 2

where the absolute value is taken elementwise. The variables of problem (2) are xRm and u,v,wRn, while θ¯=(θmax+θmin)/2 and ρ=(θmax-θmin)/2 are constants. Note that θ¯ is the middle value of the physical parameter interval, and ρ is the radius, i.e., half the range or width of the interval.

The equivalence between problems (1) and (2) can be seen by noting that, for every feasible (xuvw) for problem (2) we can set,

θi=θ¯i+ρiwi/vivi0,θ¯iotherwise, 3

for i=1,,m. Then, (x,u,v,θ) is feasible for (1), with the same objective value. Note that, if vi=0, any choice of θi[θimin,θimax] would suffice.

Similarly, for any (x,u,v,θ) that is feasible for (1), we can set

wi=θi-θ¯iρivi,i=1,,m,

and then (xuvw) is feasible for problem (2) with the same objective value.

We will refer to problem (2) as the absolute-upper-bound formulation of problem (1). This problem, like problem (1), is nonconvex due to the inequality |w||v|, and is hard to solve exactly.

NP-hardness

We can reduce any mixed-integer convex program (MICP) to an instance of (2), implying that this problem is hard, as any instance of an NP-complete problem is easily reducible to instances of the MICP problem17.

The reduction follows since we can force v to be binary in problem (2). First, choose θ¯=0, ρ=1 (and therefore u=w), and add u=1 to the constraint set. This immediately implies that 1|v|. Adding the convex constraint |v|1 to the constraint set C, yields v{±1}n, as required. Since C and f can be otherwise freely chosen, the result follows.

Known signs

If the signs of an optimal v are known for problem (2), then the problem becomes convex. We can see this as follows. If s=sign(v){±1}m is known, then we can solve the following convex problem18, Sect. 4:

minimizef(x,u,v)subjectto(x,u,v)Cu=diag(θ¯)v+diag(ρ)w|w|sv, 4

where sv is the elementwise product of s and v. Note that v (and its associated values of x, u, and w) are feasible for this instance of (4) since |v|=sv, which implies that a solution of this instance of (4) must be globally optimal for (2).

Global solution

Note that problem (4) generates a family of optimization problems over the set of possible signs, s{±1}m. This suggests a simple, if inefficient, way to globally solve problem (2) and therefore problem (1): solve problem (4) for the 2m possible signs, s{±1}m, to obtain optimal values p(s) for each set of signs s. A solution (x,u,v,w) for any optimal set of signs, sargmins{±1}mp(s), is then a solution to (2) and therefore to (1).

Of course, this algorithm may not be useful in practice for anything but the smallest values of m, but it implies that solving problem (1) requires solving only a finite number of convex problems.

Extremality principle

The rewriting given in (4) also yields an interesting insight. If problem (4) is a feasible linear program and C is an affine set with {u(x,u,v)C}=Rm, i.e., for each uRm there exists a vRm and an xRn such that (x,u,v)C, then there exists a solution of (4) such that all entries of the inequality |w|sv hold at equality (see, e.g.,19, Sect. 2.6). This rewriting then implies that there exists an optimal design for which θ is extremal, by (3). A numerical example of this principle is found in the “Thermal design” section.

Sign flip descent

Since problem (4) generates a family of optimization problems parametrized by the sign vector s{±1}m, we can view the original physical design problem (1) as a problem of choosing an optimal Boolean vector. A simple way of approximately optimizing (2) is: at each iteration i, start with some sign vector si{±1}m and solve (4) to obtain an optimal value pi. We then consider a rule for proposing a new sign vector, say s~i{±1}m, for which we again solve (4) and then obtain a new optimal value p~i. If p~i<pi, we then keep this new sign vector, i.e., we set si+1=s~i, and repeat the procedure; otherwise, we discard s~i by setting si+1=si, and repeat the procedure, proposing a new sign vector in the next iteration. This is outlined in algorithm 1.

graphic file with name 41598_2021_92451_Figa_HTML.jpg

By construction, any algorithm of the form of algorithm 1 is a descent algorithm since each iteration is feasible and the objective value is decreasing on each iteration. We outline two possible rules for proposing new sets of signs at each iteration.

Greedy sign rule

A simple rule for choosing signs is to begin at iteration k with some set of signs sk. We then define a new set of signs s~k with s~k=sk except at the kth entry where we have s~kk=-skk (or, if k>m then we pick the entry at index 1+(k-1modm), i.e., such that the entries are changed, one-by-one, in a round-robin fashion). We stop whenever flipping any one entry of sk does not yield a lower objective value.

The greedy sign rule has two useful properties. First, the rule guarantees local optimality in the following sense: if algorithm 1 returns s, then changing any one sign of s will not decrease the objective value. Second, the rule terminates in finite time, since the corresponding algorithm is a descent algorithm and there are a finite number of possible sign vectors. On the other hand, the algorithm is often slow for anything but the smallest designs: to reach the terminating condition, we have to solve at least m convex optimization problems.

Field-based rule

Another simple rule that appears to work very well in practice is based on the observation that, for many choices of sign vectors sk, the inequality |w|skv has many entries of v that are zero. If vi is zero for some index i=1,,m, this suggests that the sign sik might have been originally set incorrectly: in this case, we propose a new vector s~k which is equal sk at all entries i=1,,m for which vi is nonzero and has opposite sign at all entries i for which vi is zero.

Note that this new proposed vector will always have an optimal value p~k which is at least as small as the optimal value for sk, i.e., p~kpk. This observation, coupled with the proposed rule, suggests that we should stop whenever there are no signs left to flip, or whenever the iterations stop decreasing as quickly as desired, i.e., whenever pk-pk+1<ε.

While this rule does not necessarily guarantee local optimality, it always terminates in finite time with the given stopping conditions and appears to work well in practice (requiring, in comparison to the greedy sign rule, much fewer than m iterations to terminate) as shown in the “Numerical examples” section.

Applications

We describe a few interesting design problems that reduce to problems of the form of (1).

Diagonal physical design

As in, e.g.,11, many physical design problems can be written in the following way:

minimizef(z)subjectto(A+diag(θ))z=bθminθθmax, 5

where ARn×n describes the physics of the problem, while bRn describes the excitation, and θRn are the design parameters of the system, chosen to minimize some convex objective function f:RnR of the field zRn. Our variables in this problem are the field z and the design parameters θ.

We can write a problem of the form of (5) as a problem of the form (1) by introducing a new variable u with constraint u=diag(θ)z and rewriting the equality constraint of (5) with this new variable, Az+u=b. As the set of (zu) satisfying Az+u=b forms a convex (in fact, affine) set, the resulting problem,

minimizef(z)subjecttoAz+u=bu=diag(θ)zθminθθmax,

is of the form of (1) which can be easily rewritten into the form of (2).

Static diffusion design

Consider a flow problem on a graph G=(V,E) where we choose the conductance gkR across each edge kE, constrained to satisfy gkmingkgkmax, to minimize some function f:R|V|R of the potentials eR|V|, given some sources sR|V|.

To compactly write the conditions this system must satisfy, let the matrix AR|V|×|E| be the incidence matrix for the graph G defined to be (see20, Sect. 7.3):

Aij=+1edgejpointstonodei-1edgejpointsfromnodei0otherwise.

We can then write the steady-state diffusion equation as

Adiag(g)ATe=s, 6

where Adiag(g)AT can be recognized as the graph Laplacian of G with edge weights g. This equation can also be seen as the discrete form of the heat equation on a graph G21.

The corresponding optimization problem is then an instance of (1):

minimizef(e)subjecttov=ATeAw=sw=diag(g)vgminggmax, 7

where we have introduced two new variables w,vR|E|, in addition to the potential eR|V| and the conductances gR|E|. As before, AR|V|×|E| is the incidence matrix, sR|V| are the sources at each node, while cRn is a vector such that cTe is the average temperature over the desired region.

Dynamic diffusion control

Similarly to the “Static diffusion design” section, we can consider the time-varying generalization of (6) given by

Cet+1=Cet-hAdiag(gt)ATet+hBut,

at each time t=1,,T, with step size h>0. Here, cR++|V| is the heat capacity of each node and C=diag(c), while utRn are the inputs given to the system, BR|V|×n is a matrix mapping these inputs to the power added or removed from each node, gtR|V| are the conductances at each node, and etR|V| is the temperature at each node.

In this case, we can minimize any convex function of the temperatures and inputs by appropriately choosing the conductances and inputs:

minimizef(e,u)subjecttoCet+1=Cet-hAwt+hBut,t[T]vt=ATet,t[T]wt=diag(gt)vt,t[T]gmingtgmax,t[T], 8

where, as before, we have introduced the variables vt,wtR|E|, for each t[T] and [T]={1,,T}.

We can see problem (8) as a nontraditional control problem. A particular example is: we have a set of rooms with temperatures et at time t which we wish to keep within some comfortable temperature range. We are allowed to open and close vents (equivalently, change the conductances gt at each time t) and turn on and off heat pumps (via the control variable ut), while paying a cost for the latter. A simple question could be: what is an optimal set of actions such that the input cost is minimized while keeping the temperatures et within some specified bounds? We show a simple example of this in the “Temperature control” section.

Numerical examples

Julia22 code for all examples in this section is available in the following Github repository: angeris/pd-heuristic. We use the JuMP modeling language23 to interface with Mosek24. All times reported are on a 2015 2.9 GHz dual-core MacBook Pro.

Photonic design

In this example, we wish to choose the speed of a wave satisfying Helmholtz’s equation at each point in some domain ΩR2 in order to minimize a convex function of the field.

Helmholtz’s equation

More specifically, the speed of the wave c:ΩR++ is chosen such that the field ψ:ΩR at a specific frequency ωR+ with excitation ϕ:ΩR satisfies Helmholtz’s equation,

2ψ(x,y)+ωc(x,y)2ψ(x,y)=ϕ(x,y), 9

at each point (x,y)Ω. Additionally, we require that the chosen speeds are bounded such that 0<cmin(x,y)c(x,y)cmax(x,y) at each point (x,y)Ω, and we assume Dirichlet boundary conditions such that ψ(x,y)=0 for (x,y)Ω, i.e., we require the field to be zero at every point on the boundary of the domain. In electromagnetics, this condition corresponds to having a perfect conductor at the boundary.

In this case (as in11, Sect. 5.1), we will work with a discretized form of (9) where zRn is the discretized field (ψ), bRn is the discretized excitation (ϕ), θRn is the discretized speed of the wave (c), and ARn×n is the discretized version of the Laplacian operator (2), such that

Az+diag(θ)z=b, 10

approximates (9) at each point (xi,yi)Ω for i=1,,n. We assume that the discretization is such that Ω is a 1×1 box.

Problem data

In this case, the problem data are given by ω=4π, with n=101×101=10201, while the convex objective function f:RnR is given by

f(z)=iBzi2,

where B{1,,n} is the box indicated in Fig. 1, and the excitation b is defined as

bi=1iS0otherwise,

for each i=1,,n, where S{1,,n} is the box indicated in Fig. 1. Here, θmin=1 and θmax=2. We set the tolerance parameter of the algorithm to ε=10-4. We initialize the algorithm by finding a solution to Eq. (10) with θ=(θmax+θmin)/2 and use the signs of this solution as the initial sign vector.

Figure 1.

Figure 1

Approximately optimal photonic design. The leftmost figure specifies S{1,,n} in purple, the center specifies B{1,,n}, while the rightmost figure gives the design, θ.

Numerical results

With the given problem data, the algorithm terminates at 102 iterations with a total time of about 4 minutes, roughly around 2 seconds per iteration. This time could be very much shortened since the current implementation does not warm-start any of the current iterations, essentially solving the problem from scratch at each iteration. The final design is shown in Fig. 1 and its final field is shown in Fig. 2.

Figure 2.

Figure 2

Field for approximately optimal design.

Thermal design

In this design problem, as in the “Static diffusion design” section, we seek to set the conductances on a graph in order to minimize the average temperature of a subset of points in the center of a 2D grid of size m×m, given a heat source and a heat sink at opposite corners of the 2D grid. This is an instance of the diffusion problem where AR|E|×|V| is the incidence matrix of the grid and sR|V| are the heat sources and sinks. This problem can be written as an instance of (7) where the potentials eR|V| are the temperatures at each point in the grid.

Problem data

Our convex objective function f:R|V|R is given by

f(e)=cTe,

where cR|V| is a vector such that ci=1 if vertex i lies in the center square of size (m-1)/4×(m-1)/4 while ci=0 otherwise. There is a heat source set at the bottom left corner of the grid and a heat sink set at the top right corner of the grid. We set the minimal and maximal conductances as gmin=1 and gmax=10 at each edge.

We approximately optimize the conductances in this problem by using the field-based heuristic described in the “Sign flip descent” section. The directions are initialized by solving the problem with uniform conductances.

Numerical results

A small example is given in Fig. 3 with m=11 (which shows the chosen directions of flow), while a relatively large design is given in Fig. 4 with m=51. In both figures, thick edges indicate that conductance is maximized at that edge while thin edges indicate that conductance is minimized (see the extremality principle in the “General problem formulation” section for more details). The color of each node indicates the potential value, with red values indicating a higher potential and blue values indicating a lower one. We note that our heuristic recovers similar tendril-like patterns to those found in, e.g.7, Sect. 4 .

Figure 3.

Figure 3

Approximately optimal design for m=11. Arrows indicate the direction of flow used for this design, colors indicate the temperature at each node, while edge thickness indicates the conductance at each edge. The grey box indicates the center square.

Figure 4.

Figure 4

Approximately optimal design for m=51.

With the provided data, the heuristic terminates after 7 iterations, taking a total time of around .4 seconds in the case with m=11, with an objective value of about .115. The case with m=51 terminates after 14 iterations, taking a total time of around 20.5 seconds with an objective value of approximately .239.

Temperature control

In this example, we wish to keep the temperature of two rooms in a range of desired temperatures by appropriately closing and opening vents to the outside and between rooms and turning heat pumps on and off at specified times, while minimizing the total power consumption. We will also require that the controls and the temperatures be periodic.

Problem data

We can write this as an instance of problem (8) with

B=.2I,C=diag((.3,.1)),gmin=1,gmax=10,

and A is the incidence matrix of the graph shown in Fig. 5, while

(et)3=70+20sin4πtT,t=1,,T,

where T=300. Since we will require that the room temperatures be periodic, we then have

(e1)1=(eT)1,(e1)2=(eT)2.
Figure 5.

Figure 5

Graph set up for the temperature control problem. Here, (et)3 is the ambient temperature at time t, while (et)1 and (et)2 are the temperatures of rooms 1 and 2, respectively. The gt are the conductances of the indicated edges.

Finally, we will require that the temperatures remain in some a range,

65(et)1,(et)275,t=1,,T,

while minimizing

f(e,u)=hu2+ηht=1T-1et+1-et2, 11

where h=1/T and η=10-4 is a small regularization parameter that ensures the resulting trajectories are smooth.

We initialize the problem with the signs given by assuming that gt=(gmin+gmax)/2 for all t=1,,T-1 and using the heat pumps ut to ensure the temperature in the rooms remains above 65 and below 75.

Numerical results

We approximately optimize this instance using the field-based heuristic outlined in “Sign flip descent”, with the result shown in Fig. 6. With the provided data, the heuristic terminates in 3 iterations, with a total time of around 1.56 s. The final approximately optimized problem has an objective value of around 836.

Figure 6.

Figure 6

Approximately optimal control.

Conclusion

This paper presented a new problem formulation and an associated heuristic which may be of practical use for a general class of physical design problems, which appears to have good practical performance on many different kinds of physical design problems. Additionally, this problem formulation implies a few interesting facts, most notably that the class of problems can be efficiently solved even when only the signs of an optimal solution are known and that, in a few important cases, there exist globally optimal extremal designs.

Future work

There are several notable exceptions to the class of problems which are included in the formulation given in (1), with the most important being designs whose parameters are constrained to be equal. This means that, at the moment, a direct application to photonic design in three dimensions, the usual photonic design problem with complex fields, circuit design with complex impedances, or multi-scenario physical design, is not possible with the current problem formulation. We suspect a suitable generalization of (1) might yield similarly interesting insights and, potentially, new heuristics for physical design.

Acknowledgements

The authors would like to acknowledge Akshay Agrawal, Shane Barratt, and Rahul Trivedi for helpful comments and edits. We would also like to acknowledge financial support from ARPA-E with Agreement No. DE-AR0001212. Guillermo Angeris is supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-1656518.

Author contributions

G.A. and S.B. developed the theory. G.A. developed the examples and simulations. J.V. and S.B. supervised the project. All members contributed to the discussion and reviewed the manuscript.

Competing interests

The authors declare no competing interests.

Footnotes

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Molesky S, et al. Inverse design in nanophotonics. Nat. Photon. 2018;12:659–670. doi: 10.1038/s41566-018-0246-9. [DOI] [Google Scholar]
  • 2.Su, L. et al. Nanophotonic inverse design with SPINS: Software architecture and practical considerations. arXiv:1910.04829 [physics] (2019). 1910.04829.
  • 3.Haftka, R. T. & Gürdal, Z. Elements of Structural Optimization (2012).
  • 4.Gielen G, Rutenbar R. Computer-aided design of analog and mixed-signal integrated circuits. Proc. IEEE. 2000;88:1825–1854. doi: 10.1109/5.899053. [DOI] [Google Scholar]
  • 5.Liu B, et al. Analog circuit optimization system based on hybrid evolutionary algorithms. Integration. 2009;42:137–148. doi: 10.1016/j.vlsi.2008.04.003. [DOI] [Google Scholar]
  • 6.Dbouk T. A review about the engineering design of optimal heat transfer systems using topology optimization. Appl. Therm. Eng. 2017;112:841–854. doi: 10.1016/j.applthermaleng.2016.10.134. [DOI] [Google Scholar]
  • 7.Haertel, J. H. K. Design of Thermal Systems Using Topology Optimization. Ph.D. thesis, Technical University of Denmark (2018).
  • 8.Lu J, Vučković J. Nanophotonic computational design. Opt. Express. 2013;21:13351. doi: 10.1364/OE.21.013351. [DOI] [PubMed] [Google Scholar]
  • 9.Miller OD, et al. Fundamental limits to optical response in absorptive systems. Opt. Express. 2016;24:3329. doi: 10.1364/OE.24.003329. [DOI] [PubMed] [Google Scholar]
  • 10.Shim H, Fan L, Johnson SG, Miller OD. Fundamental limits to near-field optical response over any bandwidth. Phys. Rev. X. 2019;9:011043. doi: 10.1103/PhysRevX.9.011043. [DOI] [Google Scholar]
  • 11.Angeris G, Vučković J, Boyd S. Computational bounds for photonic design. ACS Photon. 2019;6:1232–1239. doi: 10.1021/acsphotonics.9b00154. [DOI] [Google Scholar]
  • 12.Gustafsson, M., Schab, K., Jelinek, L. & Capek, M. Upper bounds on absorption and scattering. arXiv:1912.06699 [physics] (2019). 1912.06699.
  • 13.Molesky, S., Chao, P. & Rodriguez, A. W. T-Operator Limits on Electromagnetic Scattering: Bounds on Extinguished, Absorbed, and Scattered Power from Arbitrary Sources. arXiv:2001.11531 [physics] (2020). 2001.11531.
  • 14.Molesky S, Jin W, Venkataram PS, Rodriguez AW. Bounds on absorption and thermal radiation for arbitrary objects. Phys. Rev. Lett. 2019;123:257401. doi: 10.1103/PhysRevLett.123.257401. [DOI] [PubMed] [Google Scholar]
  • 15.Diamond S, Takapoui R, Boyd S. A general system for heuristic minimization of convex functions over non-convex sets. Optim. Methods Softw. 2018;33:165–193. doi: 10.1080/10556788.2017.1304548. [DOI] [Google Scholar]
  • 16.Lu J, Vučković J. Inverse design of nanophotonic structures using complementary convex optimization. Opt. Express. 2010;18:3793. doi: 10.1364/OE.18.003793. [DOI] [PubMed] [Google Scholar]
  • 17.Karp RM. Reducibility among combinatorial problems. In: Miller RE, Thatcher JW, Bohlinger JD, editors. Complexity of Computer Computations. Springer US; 1972. pp. 85–103. [Google Scholar]
  • 18.Boyd S, Vandenberghe L. Convex Optimization. Cambridge University Press; 2004. [Google Scholar]
  • 19.Bertsimas, D. & Tsitsiklis, J. N. Introduction to Linear Optimization. Athena Scientific Series in Optimization and Neural Computation (Athena Scientific, 1997).
  • 20.Boyd S, Vandenberghe L. Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares. 1. Cambridge University Press; 2018. [Google Scholar]
  • 21.Solomon, J. PDE approaches to graph analysis. arXiv:1505.00185 [cs, math] (2015). 1505.00185.
  • 22.Bezanson J, Edelman A, Karpinski S, Shah VB. Julia: A fresh approach to numerical computing. SIAM Rev. 2017;59:65–98. doi: 10.1137/141000671. [DOI] [Google Scholar]
  • 23.Dunning I, Huchette J, Lubin M. JuMP: A modeling language for mathematical optimization. SIAM Rev. 2017;59:295–320. doi: 10.1137/15M1020575. [DOI] [Google Scholar]
  • 24.ApS, M. MOSEK Optimizer API for Python 9.1.5. https://docs.mosek.com/9.1/pythonapi/index.html (2019).

Articles from Scientific Reports are provided here courtesy of Nature Publishing Group

RESOURCES