Optimization device, optimization method, and program

The optimization device and method leverage ZDD and a modified Frank-Wolfe method to solve combinatorial optimization problems with non-differentiable convex functions, achieving precise solutions within an error tolerance.

JP2026066065APending Publication Date: 2026-04-16NIPPON TELEGRAPH & TELEPHONE CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024175250
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-10-04
Publication Date
2026-04-16

AI Technical Summary

Technical Problem

Existing combinatorial optimization methods, such as those described in Non-Patent Document 1, are ineffective for solving problems with non-differentiable convex objective functions, particularly those involving submodular functions commonly found in applications like image processing.

Method used

An optimization device and method using a Zero-suppressed Binary Decision Diagram (ZDD) and a modified Frank-Wolfe method to iteratively project subgradients onto the executable region of a non-differentiable convex function, ensuring the solution is within a predetermined error tolerance.

Benefits of technology

Enables the solution of combinatorial optimization problems with non-differentiable convex functions, providing accurate results within a specified error margin.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026066065000001_ABST
    Figure 2026066065000001_ABST
Patent Text Reader

Abstract

This invention provides an optimization device that can solve a given combinatorial optimization problem even if the objective function is a non-differentiable convex function. [Solution] An objective function f is a convex function that is not necessarily differentiable, and a selectable combination C of items X. i For a set of combinations F representing the set ⊆X, there exists a combination C i The probability is p i An optimization device that finds a vector x that represents the inclusion of f(x) and minimizes f(x) within a predetermined tolerance, comprising an input unit that inputs a zero-suppressed binary decision graph (ZDD) in which the objective function and the set of combinations F are represented by a zero-suppressed binary decision graph, and a tolerance ε, and in each iteration the solution x obtained in the previous iteration T From this, the next solution x T+1 The optimization unit finds the vector x such that the error from the optimal value of the objective function is less than or equal to the allowable error. T The solution is updated using the subgradient of the objective function f, and the updated solution is projected onto the feasible region of the objective function using ZDD to obtain the next solution.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to an optimization apparatus, an optimization method, and a program. [Background technology]

[0002] A typical combinatorial optimization problem aims to find the single combination that optimizes (minimizes or maximizes) a desired objective function. However, some combinatorial optimization problems seek a portfolio of optimal combinations, i.e., a mix of several combinations. Some of these problems can be formulated using a Lipschitz-continuous convex objective function, and efficient methods for solving them are known (Non-Patent Document 1). [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Kengo Nakamura, Shinsaku Sakaue, and Norihito Yasuda. Practical Frank-Wolfe method with decision diagrams for computing Wardrop equilibrium of combinatorial congestion games. In Proceedings of the 34th AAAI Conference on Artificial Intelligence, pp. 2200-2209, 2020. [Overview of the project] [Problems that the invention aims to solve]

[0004] However, the method described in Non-Patent Document 1 requires the objective function to be differentiable, and therefore could not find a solution if the objective function was a Lipschitz continuous but non-differentiable convex function.

[0005] The present disclosure has been made in view of the above points, and provides a technique capable of solving a predetermined combinatorial optimization problem even when an objective function is a convex function that is not differentiable. **Means for Solving the Problem**

[0006] An optimization device according to an aspect of the present disclosure is an optimization device that obtains a vector x representing that a combination C is included with a probability p (where p ≥ 0 and p1 + ··· + p = 1) for an objective function f that is a convex function that is not necessarily differentiable and a combination set F representing a set of selectable combinations C1, ···, C ⊆ X, and obtains a vector x that minimizes f(x) within a predetermined allowable error, and has an input unit that inputs the objective function f, a zero-suppressed binary decision diagram ZDD representing the combination set F, and the allowable error ε, and an optimization unit that, based on the objective function f, the ZDD, and the allowable error ε, obtains the next solution x from the solution x obtained in the previous iteration in each iteration, so as to obtain a vector x whose error from the optimal value of the objective function f is not more than the allowable error ε. The optimization unit updates the solution x based on the subgradient of the objective function f at the solution x, and projects the updated solution x onto the executable region of the objective function f using the ZDD to obtain the next solution x. t ⊆X, and an optimization device that obtains a vector x that minimizes f(x) within a predetermined allowable error, the optimization device having: an input unit that inputs the objective function f, a zero-suppressed binary decision diagram ZDD representing the combination set F, and the allowable error ε; and an optimization unit that, based on the objective function f, the ZDD, and the allowable error ε, obtains the next solution x from the solution x obtained in the previous iteration in each iteration, so as to obtain a vector x whose error from the optimal value of the objective function f is not more than the allowable error ε. The optimization unit updates the solution x based on the subgradient of the objective function f at the solution x, and projects the updated solution x onto the executable region of the objective function f using the ZDD to obtain the next solution x. i with a probability p i (where p i ≥ 0 and p1 + ··· + p t = 1), and an optimization device that obtains a vector x that minimizes f(x) within a predetermined allowable error, the optimization device having: an input unit that inputs the objective function f, a zero-suppressed binary decision diagram ZDD representing the combination set F, and the allowable error ε; and an optimization unit that, based on the objective function f, the ZDD, and the allowable error ε, obtains the next solution x from the solution x obtained in the previous iteration in each iteration, so as to obtain a vector x whose error from the optimal value of the objective function f is not more than the allowable error ε. The optimization unit updates the solution x based on the subgradient of the objective function f at the solution x, and projects the updated solution x onto the executable region of the objective function f using the ZDD to obtain the next solution x. T from the previous solution x T+1 to obtain the next solution x T by updating the solution x based on the subgradient of the objective function f at the solution x, and projecting the updated solution x onto the executable region of the objective function f using the ZDD to obtain the next solution x. T to obtain the next solution x T by updating the solution x based on the subgradient of the objective function f at the solution x, and projecting the updated solution x onto the executable region of the objective function f using the ZDD to obtain the next solution x. T+1 to obtain the next solution x. **Advantages of the Invention**

[0007] It is possible to solve a predetermined combinatorial optimization problem even when the objective function is a convex function that is not differentiable. **Brief Description of the Drawings**

[0008] [Figure 1] It is a diagram showing an example of the hardware configuration of the optimization device according to the present embodiment. [Figure 2]This figure shows an example of the functional configuration of the optimization device according to this embodiment. [Figure 3] This is a flowchart showing an example of the process for solving a combinatorial optimization problem. [Figure 4] This figure shows an example of the processing flow performed by the optimization unit. [Figure 5] This figure shows an example of the processing flow for Projection(x). [Figure 6] This figure shows an example of the processing flow of LinearMin(w). [Figure 7] This figure shows an example of the processing flow for NearPoint(x,w,ρ). [Modes for carrying out the invention]

[0009] One embodiment of the present invention will be described in detail below with reference to the drawings.

[0010] Among combinatorial optimization problems, which are a type of mathematical optimization problem, there are problems that seek the optimal portfolio of combinations, that is, a mix of several combinations. In this type of problem, the item set X = {a1,···,a d} and its selectable combinations C1,···,C t Given ⊆X, the probability values ​​p1,···,p corresponding to each combination are given. t We will find this. This is combination C. i is the proportion p i This means a mix of combinations that are included in the above. Since these values ​​are probabilities, p i ≥ 0 and p1 + ... + p t It is required that the value be 1.

[0011] Some of the above types of problems can be formulated as follows: First, the set of selectable combinations is F = {C1,···,C t Let}. Also, for combination C⊆X, its indicator vector 1 Cd is a vector of dimension |X|, and a i Let the vector be such that if ∈C, its i-th element is 1, and otherwise its i-th element is 0. In this case, we consider the optimization problem shown in equation (1) below for an objective function f(x), which is a Lipschitz continuous convex function.

[0012]

number

[0013]

number

[0014] This type of problem often arises when difficult combinatorial optimization problems are continuously relaxed. That is, the problem of choosing one optimal combination from a set of selectable combinations, as shown in equation (3) below, is difficult to solve unless the set of combinations F has a special structure, because the range of possible values ​​for x is discrete.

[0015]

number

[0016] <Conventional methods that can solve the combinatorial optimization problem shown in equation (1) and their problems> If the objective function f is a Lipschitz continuous and differentiable convex function, the combinatorial optimization problem shown in equation (1) can be solved using the method described in Non-Patent Literature 1. The method described in Non-Patent Literature 1 uses a data structure called a Zero-suppressed Binary Decision Diagram (ZDD) (Reference 1) to compactly represent the set of combinations F, and uses this for calculations within the Frank-Wolfe method. As a result, the method described in Non-Patent Literature 1 can be expected to achieve practically fast optimization even when the number of selectable combinations is exponentially large. Although the method described in Non-Patent Literature 1 mainly focuses on finding equilibrium solutions for combinatorial congestion games, it can be applied to the combinatorial optimization problem shown in equation (1) if the objective function f is a differentiable convex function.

[0017] On the other hand, in practical applications, there are cases where the objective function f is a Lipschitz-continuous convex function but not differentiable. For example, in the combinatorial optimization problem shown in equation (1), when the objective function f is a function of a class called a submodular function, we consider a Lovaas extension function as its continuous relaxation, but the Lovaas extension function is a non-differentiable convex function. Submodular functions are a generalization of functions that represent neighborhood similarity, such as cut functions, and therefore frequently appear in practical applications such as image processing.

[0018] However, the method described in Non-Patent Literature 1 relies on the value of the derivative of the objective function f, and therefore cannot be applied directly to non-differentiable convex functions, nor is it easy to extend it to be applicable to non-differentiable convex functions.

[0019] <Proposed method> We propose a method that can solve the combinatorial optimization problem shown in equation (1), even if the objective function f is a non-differentiable convex function. This proposed method is an iterative optimization method that performs projection in the subgradient method using a ZDD.

[0020] Incidentally, the differences between the method described in Non-Patent Document 1 and the proposed method are as follows: The method described in Non-Patent Document 1 cannot be applied to the minimization of non-differentiable convex functions, while the proposed method can be applied to the minimization of non-differentiable convex functions. Technically, the method described in Non-Patent Document 1 performs optimization by combining the Frank-Wolfe method and ZDD, while the proposed method performs optimization by projecting the subgradient of the objective function f by combining a different kind of Frank-Wolfe method and ZDD.

[0021] Hereinafter, assuming that the objective function f is a convex function that is not necessarily differentiable, an optimization device 10 that obtains a solution to the combinatorial optimization problem shown in Equation (1) by the proposed method will be described.

[0022] <The Structure of ZDD> As a preparation for explaining the optimization device 10 according to the present embodiment, the structure of ZDD will be described. ZDD is a data structure that represents a set of combinations as a loop-free graph (directed acyclic graph (DAG: Directed Acyclic Graph)) composed of a collection of nodes and directed edges (branches). ZDD has two types of nodes: terminal nodes and branch nodes, which are represented by a down-tack symbol and an up-tack symbol, respectively. Hereinafter, in the text of this specification, the down-tack symbol will be substituted with the capital tau "Τ", and the up-tack symbol will be substituted with the vertical symbol "⊥".

[0023] No edges come out from each terminal node, and there are exactly two outgoing edges, a 0-branch and a 1-branch, for each branch node. There is only one node in ZDD that has no incoming edges, which is called the root node and represented by r. For a branch node v, the node pointed to by the 0-branch coming out of the branch node v is called the 0-child node and represented by v0. Similarly, for a branch node v, the node pointed to by the 1-branch coming out of the branch node v is called the 1-child node and represented by v1.

[0024] Each branch node v has an integer value v called a label lvThe labels ∈{1,···,d} are attached, and these correspond to the item numbers. For terminal nodes, the label value is set to d+1. In this case, each 0-branch and 1-branch must always go from the node with the smaller label to the node with the larger label. That is, for any branch node v, v lv <(v0) lv , and, v lv <(v1) lv Make it so that it is true.

[0025] The set of combinations represented by ZDD is represented by the set of paths from the root node r to the terminal node T. A single path R from the root node r to the terminal node T is defined as a path that follows a 1-edge originating from a node labeled i, and only in that case, a i This corresponds to a subset C(R)⊆X of the item set X such that ∈C(R). The set of subsets corresponding to all paths from the root node r to the terminal node T is the combinatorial set represented by ZDD.

[0026] Here, for example, if the combinatorial set F is a set of substructures such as matchings, cycles, trees, and paths of a certain graph structure, a ZDD representing the combinatorial set F can be efficiently constructed using a method called the frontier method described in Reference 2. Furthermore, by using an operation called the Apply operation described in Reference 1, a ZDD representing any combinatorial set can be constructed. Therefore, below, we will assume that a ZDD representing the combinatorial set F is provided to the optimization device 10.

[0027] <Example of hardware configuration for optimization device 10> An example of the hardware configuration of the optimization device 10 according to this embodiment will be described with reference to Figure 1. Figure 1 is a diagram showing an example of the hardware configuration of the optimization device 10 according to this embodiment.

[0028] As shown in Figure 1, the optimization device 10 according to this embodiment includes an input device 101, a display device 102, an external interface 103, a communication interface 104, a RAM (Random Access Memory) 105, a ROM (Read Only Memory) 106, an auxiliary storage device 107, and a processor 108. Each of these hardware components is connected to the others via a bus 109 for communication.

[0029] The input device 101 is, for example, a keyboard, mouse, touch panel, or physical button. The display device 102 is, for example, a display or display panel. The optimization device 10 does not necessarily have to have at least one of the input device 101 and the display device 102.

[0030] External I / F 103 is an interface with external devices such as recording media 103a. Examples of recording media 103a include CD (Compact Disc), DVD (Digital Versatile Disk), SD memory card (Secure Digital memory card), and USB (Universal Serial Bus) memory card.

[0031] The communication interface 104 is an interface for connecting to a communication network. The RAM 105 is a volatile semiconductor memory (storage device) that temporarily holds programs and data. The ROM 106 is a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The auxiliary storage device 107 is a non-volatile storage device such as an HDD (Hard Disk Drive), SSD (Solid State Drive), or flash memory. The processor 108 is a processing unit such as a CPU (Central Processing Unit) or GPU (Graphic Processing Unit).

[0032] Note that the hardware configuration shown in Figure 1 is just one example, and the optimization device 10 may have multiple auxiliary storage devices 107 and multiple processors 108, or it may not have some of the hardware shown, or it may have various other hardware besides the hardware shown.

[0033] <Example of Functional Configuration of Optimization Device 10> The functional configuration example of the optimization device 10 according to this embodiment will be described in detail with reference to Figure 2. Figure 2 is a diagram showing an example of the functional configuration of the optimization device 10 according to this embodiment.

[0034] As shown in Figure 2, the optimization device 10 according to this embodiment has an input unit 201, an optimization unit 202, and an output unit 203. Each of these units is realized, for example, by a process in which one or more programs installed in the optimization device 10 are executed by a processor 108 or the like.

[0035] The input unit 201, given an objective function f which is a convex function that is not necessarily differentiable, a set of combinatorial sets F represented by ZDD which is the set of selectable combinations, and a tolerance ε, takes these objective function f, ZDD, and tolerance ε as input.

[0036] The optimization unit 202 solves the combinatorial optimization problem shown in equation (1) within the error ε, based on the objective function f, ZDD, and tolerance ε input by the input unit 201. That is, the optimization unit 202 finds the optimal solution x * For |f(x)-f(x * )|≦ε such that x∈conv({1 C Find |C∈F}).

[0037] The output unit 203 outputs the solution x obtained by the optimization unit 202 to a predetermined output destination. Examples of predetermined output destinations include a display device 102 such as a display, an auxiliary storage device 107 such as an HDD, SSD, or flash memory, and other devices, equipment, terminals, etc., connected via a communication network.

[0038] Furthermore, the output unit 203, if necessary, outputs real numbers λ1,···,λ that can be expressed for this solution x as shown in equation (4) below, in addition to the solution x. t and combination C1,···,C t You may output ∈F.

[0039]

number

[0040] <Solution process for the combinatorial optimization problem shown in equation (1)> The process for finding the solution to the combinatorial optimization problem shown in equation (1) will be explained below with reference to Figure 3. Figure 3 is a flowchart showing an example of the process for finding the solution to a combinatorial optimization problem. In the following, it is assumed that the optimization device 10 is given an objective function f, which is a convex function that is not necessarily differentiable, a set of combinatorial sets F represented by ZDD, which is the set of selectable combinations, and an error tolerance ε.

[0041] The input unit 201 receives the given objective function f, ZDD, and tolerance ε (step S101).

[0042] Next, the optimization unit 202 solves the combinatorial optimization problem shown in equation (1) within the error ε, based on the objective function f, ZDD, and tolerance ε input in step S101, to obtain the solution x (step S102). Details of the process in this step will be described later.

[0043] Then, the output unit 203 outputs the solution x obtained in step S102 to a predetermined output destination (step S103). At this time, the output unit 203 outputs the solution x obtained in step S102 to the real numbers λ1,···,λ that can be expressed as shown in equation (4) above. t and combination C1,···,C t You may output ∈F.

[0044] <Processing flow executed by the optimization unit 202> The following describes in detail the processing flow executed by the optimization unit 202 in step S102 described above, with reference to Figure 4. Figure 4 is a diagram showing an example of the processing flow executed by the optimization unit.

[0045] First, the optimization unit 202 uses an arbitrarily selected combination C∈F to perform x1←1 C Initialize as follows (first line). Next, the optimization unit 202 sets T=1,2,···,T s For this, lines 3 through 5 are executed repeatedly (line 2). Here, T is a variable that represents the number of times lines 3 through 5 are repeated. s This is the upper limit of the number of repetitions T. s The method for determining this will be explained later.

[0046] The following describes the case where lines 3 to 5 are executed for a certain number of iterations T.

[0047] In the third line, the optimization unit 202 calculates the x of the objective function f. T Find the subgradient in u T In other words, the optimization unit 202 optimizes the x of the objective function f. T The set of all subgradients ∂f(x T ) from vector u T Select this option. Here, the subgradient of the function f in x' is the vector u that satisfies equation (5) below for any point x in the feasible region.

[0048]

number

[0049] In the fourth line, the optimization unit 202 calculates the subgradient u T to α T The multiplied vector is x T Subtract from it, and the result is x T Let's assume that α T The method for determining this will be explained later.

[0050] In the 5th line, the optimization unit 202 performs x T+1 ←Projection(x T Let's set it to '). Here, Projection(x T ') is x T 'Executable area conv({1 C This is a function that projects onto |C∈F}). Details of the Projection function algorithm will be discussed later.

[0051] Note that in the fifth line above, x T+1 In addition, λ can be expressed as follows: T+1,k and C T+1,k Such a λ may be obtained. T+1,k and C T+1,k The method for calculating this will also be explained later in the details of the Projection function algorithm.

[0052]

number

[0053] T=1,2,···,T sAfter the above third to fifth lines are repeatedly executed for T it, the optimization unit 202 selects, from x1, x2, ···, x ★ the one that minimizes the value of the objective function f as x T (the sixth line). Next, the optimization unit 202 sets the average vector of x1, x2, ···, x μ as x ★ (the seventh line). Finally, the optimization unit 202 outputs, as the solution x, the one with the smaller value of the objective function f from x μ and x T+1,k (the eighth line). This solution x is a solution within the error ε of the combinatorial optimization problem shown in Equation (1). At this time, the optimization unit 202 may output {λ T+1,k} and {C k} corresponding to the solution x as {λ k} and {C

[0054] Note that the above sixth to eighth lines are an example of a method for selecting the solution x from x1, x2, ···, x T obtained by repeating the third to fifth lines, and are not limited thereto. That is, the solution x may be selected from x1, x2, ···, x T by a method other than the above sixth to eighth lines.

[0055] <α T and T s Determination method> Hereinafter, an example of the determination method of α T and T s will be described. Note that the determination method of α T and T s is not limited to the method described below.

[0056] Assume that the objective function f satisfies Lipschitz continuity with a constant L, that is, for any x, y ∈ conv({1 C |C ∈ F}), the following Equation (6) is satisfied.

[0057]

Equation

[0058] <Flow of the Projection function processing> Hereinafter, the flow of the processing of the Projection function when x is given as an argument will be described while referring to FIG. 5. FIG. 5 is a diagram showing an example of the flow of the processing of Projection(x). In Projection(x), for the given x, processing for solving the optimization problem shown in the following formula (7) is executed.

[0059]

Equation

[0060] First, the optimization unit 202 initializes y1 ← 1 C using an arbitrarily selected combination C ∈ F (line 1). Also, the optimization unit 202 initializes v1 ← y1 (line 2). Next, the optimization unit 202 repeatedly executes lines 4 to 7 for T = 1, 2,... (line 3). Here, T is a variable representing the number of repetitions of lines 4 to 7.

[0061] Hereinafter, the case of executing lines 4 to 7 for a certain number of repetitions T will be described.

[0062] In line 4, the optimization unit 202 determines whether the duality gap is within ε or less. That is, the optimization unit 202 determines y T ·(y T -x) - LinearMin(yT We determine whether -x)≦ε. Here, LinearMin(w) is the transpose of C∈F, where τ is the symbol for transpose. C τ This function calculates the minimum value of w. Details of the LinearMin function's algorithm will be described later.

[0063] In the fifth line, the optimization unit 202 determines that if the duality gap is less than or equal to ε, then y T Outputs.

[0064] In line 6, the optimization unit 202 performs v T+1 ←NearPoint(y T ,y T -x,βρ T Let ) here NearPoint(x,w,ρ) be 1 C τ w+ρ||1 C -x|| 2 This function calculates the C∈F that minimizes the given function. Details of the NearPoint function's algorithm will be discussed later.

[0065] In line 7, the optimization unit 202 is v1,···,v T+1 In the convex hull of y·(y T -x)+β / 2(yy T )·(yy T We find x that minimizes the function ) and y T+1 Let's assume this. This becomes an optimization problem of a strongly convex function on a convex hull of a small number of combinations, and therefore the optimal solution can be easily found by using the Fully-corrective Frank-Wolfe method or the Away-step Frank-Wolfe method described in Reference 4. Note that by using these methods, y T+1 At the same time, y T+1 =λ1v1+···+λ T+1 v T+1 λ1,···,λ can be expressed as follows: T+1 The value of each v can also be determined. k(k = 2, ···, T + 1) is a vector obtained as the output of the NearPoint function in the 6th line. As will be described later, this vector v k can be expressed as 1 using a certain combination C C , so this C is denoted as C k , and by returning λ k and C k , the above number 6 is obtained.

[0066] Note that the constants β and ρ T in the 6th line above can be determined as follows. First, for the constant β, set β = 1. Next, for the constant ρ T , it is conceivable to try several values of ρ T and adopt the one that makes the value of the objective function f the smallest. Specifically, let k be the largest integer not exceeding log2ε -1 , and for ρ T = 1, 1 / 2, 1 / 4, 1 / 2 k , ···, repeat the calculations in the 6th to 7th lines above, and adopt the ρ T+1 when the value of f(y T ) is the smallest. However, the method of determining these constants β and ρ<00​​​​​​​​​​​​​​​​​​​​ Next, the optimization unit 202 scans each branch node v in bottom-up order, that is, in descending order of the label (second line), and calculates the value of D as follows (third line). v of the value (third line).

[0070] [Number] Here, v0 is the 0-child node of the branch node v, v1 is the 1-child node of the branch node v, and v lv is the label of the branch node v. Also, the following represents the v lv th element of w.

[0071] [Number] Then, the optimization unit 202 outputs the value of D r for the root node r (fourth line). Thus, the value of the second term of the above duality gap is obtained.

[0072] [Flow of NearPoint function processing] The following describes the flow of the NearPoint function when x, w, and ρ are given as arguments, referring to FIG. 7. FIG. 7 is a diagram showing an example of the flow of the NearPoint(x, w, ρ) process. In NearPoint(x, w, ρ), for the given x, w, and ρ, using the ZDD representing the set of combinations F, 1 C τ w + ρ||1 and calculates C ∈ F that minimizes the function -x|| C -x|| 2 (fourth line).

[0073] First, the optimization unit 202 initializes D Τ ← 0, D ⊥ ← ∞ (first line). Note that ∞ may be the maximum value that can be obtained in the implementation.

[0074] Next, the optimization unit 202 scans each branch node v in bottom-up order, that is, in descending order of the label (second line), and calculates D as follows vCalculate the value of (3rd line).

[0075]

number

[0076]

number

[0077]

number

[0078] Finally, the optimization unit 202 is 1 C Output (line 12).

[0079] <Summary> As described above, the optimization apparatus 10 according to this embodiment can find a solution within the tolerance of the optimal solution even when the objective function f of the combinatorial optimization problem shown in equation (1) is Lipschitz continuous but not differentiable.

[0080] The present invention is not limited to the embodiments specifically disclosed above, and various modifications, changes, and combinations with known technologies are possible without departing from the scope of the claims.

[0081] [References] Reference 1: Shin-ichi Minato. Zero-suppressed BDDs for set manipulation in combinatorial problems. In Proceedings of the 30th ACM / IEEE Design Automation Conference, pp. 272-277, 1993. Reference 2: Jun Kawahara, Takeru Inoue, Hiroaki Iwashita, and Shin-ichi Minato. Frontier-based search for enumerating all constrained subgraphs with compressed representation. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol. E100.A, pp. 1773-784, 2007. Reference 3: Dan Garber and Noam Wolf. Frank-Wolfe with a nearest extreme point oracle, In Proceedings of the 34th Annual Conference on Learning Theory, PMLR Vol. 134, pp. 2103-2132, 2021. Reference 4: Simon Lacoste-Julien and Martin Jaggi. On the global linear convergence of Frank-Wolfe optimization variants. In Proceedings of the 28th International Conference on Neural Information Processing Systems, Vol. 1, pp. 496-504, 2015. [Explanation of Symbols]

[0082] 10 Optimization device 101 Input Device 102 Display device 103 External I / F 103a Recording medium 104 Communication I / F 105 RAM 106 ROM 107 Auxiliary storage 108 processors 109 Bus 201 Input section 202 Optimization Department 203 Output section

Claims

1. A convex objective function f, which is not necessarily differentiable, and the selectable combinations C of items X. 1 , ..., C t For a set of combinations F representing the set of ⊆X, then combination C i The probability is p i (However, p i ≥ 0 and p 1 +...+p t An optimization device that finds a vector x that represents being included in =1) and that minimizes f(x) within a predetermined tolerance, An input unit that inputs the objective function f, the set of combinations F represented by a zero-suppressed bipartite decision graph ZDD, and the tolerance ε, Based on the objective function f, the ZDD, and the tolerance ε, in each iteration, the solution x obtained in the previous iteration T is used to obtain the next solution x T+1 An optimization unit that obtains a vector x whose error from the optimal value of the objective function f is less than or equal to the tolerance ε by this method It has, The optimization unit, The above solution x T The subgradient of the objective function f in the solution x T Update the solution x T By projecting this onto the feasible region of the objective function f using the ZDD, the following solution x is obtained. T+1 To find, Optimization device.

2. The aforementioned executable region is C ∈ F and X = {a 1 , ..., a d } and a i If it is included in C, the i-th element is 1, a i If it is not included in C, then the i-th element of the d-dimensional vector 1 is 0. C The optimization device according to claim 1, which is the convex hull of

3. The optimization unit, T=1, 2,...,T s (However, T s (where is a predetermined upper limit) for the above solution x T From the above solution x T+1 Seeking, If the objective function f is a constant L and satisfies Lipschitz continuity, then T s = (L 2 d) ε 2 The optimization device according to claim 2, which is set as follows.

4. The optimization unit, α T The constant α can be expressed as = (1 / L)√(d / T) T And the above solution x T The subgradient u of the objective function f in the above-mentioned context T Using x T -α T u T Therefore, the above solution x T The optimization device according to claim 3, which updates the information.

5. A convex objective function f, which is not necessarily differentiable, and the selectable combinations C of items X. 1 , ..., C t For a set of combinations F representing the set of ⊆X, then combination C i The probability is p i (However, p i ≥ 0 and p 1 +...+p t An optimization method for finding a vector x that represents being included in =1) and that minimizes f(x) within a predetermined tolerance, An input procedure for inputting the objective function f, the set of combinations F represented by a zero-suppressed bipartite decision graph ZDD, and the tolerance ε, Based on the objective function f, the ZDD, and the tolerance ε, the solution x obtained in the previous iteration is used in each iteration. T From this, the next solution x T+1 An optimization procedure to find a vector x whose error from the optimal value of the objective function f is less than or equal to the allowable error ε, by calculating the above, The computer executes this, The aforementioned optimization procedure is: The above solution x T The subgradient of the objective function f in the solution x T Update the solution x T By projecting this onto the feasible region of the objective function f using the ZDD, the following solution x is obtained. T+1 To find, Optimization method.

6. A convex objective function f, which is not necessarily differentiable, and the selectable combinations C of items X. 1 , ..., C t For a set of combinations F representing the set of ⊆X, then combination C i The probability is p i (However, p i ≥ 0 and p 1 +...+p t A program to find a vector x that represents being included in =1), and that minimizes f(x) within a predetermined tolerance, An input procedure for inputting the objective function f, the set of combinations F represented by a zero-suppressed bipartite decision graph ZDD, and the tolerance ε, Based on the objective function f, the ZDD, and the tolerance ε, the solution x obtained in the previous iteration is used in each iteration. T From this, the next solution x T+1 An optimization procedure to find a vector x whose error from the optimal value of the objective function f is less than or equal to the allowable error ε, by calculating the above, Have the computer run it, The aforementioned optimization procedure is: The above solution x T The subgradient of the objective function f in the solution x T Update the solution x T By projecting this onto the feasible region of the objective function f using the ZDD, the following solution x is obtained. T+1 To find, program.