Why Constrain a Target Allocation?
A target allocation may come from an estimator-driven rule, but a study can also require prespecified limits on how much of the sample is assigned to any arm. For example, a design might limit the share assigned to one treatment, require a minimum share for another, or restrict the ratio of two target shares. The constrained target should still sum to one: it represents a probability distribution across the treatment arms.
The key distinction is between the target shares and the DBCD probabilities for the next assignment. Constraints in this tutorial apply to the target. The next-assignment probabilities are calculated from that target and the current allocation counts; they need not themselves obey the same bounds. This is not a method for enforcing a finite-sample quota.
Box Constraints and Common-Scale Renormalization
Suppose each arm \(k\) has a lower bound \(l_k\) and an upper bound \(u_k\). The constraints are \(l_k\leq t_k\leq u_k\), in addition to the requirement that the shares sum to one. A necessary and sufficient feasibility condition for these box constraints is \(l_k\leq u_k\) for every \(k\), together with \(\sum_k l_k\leq 1\leq\sum_k u_k\). Necessity follows by summing the bounds. For sufficiency, begin at the lower-bound vector, whose sum is at most one, and increase coordinates without exceeding their upper bounds; the total available increase is \(\sum_k(u_k-l_k)\), enough to reach one.
When \(q_k>0\), a convenient construction scales the raw target by a common positive constant \(c\), then clips each coordinate to its permitted interval:
Choose \(c\) so that \(\sum_k t_k(c)=1\). The same scale factor is used across arms that are not clipped, so their relative target shares are preserved. The function \(S(c)=\sum_k t_k(c)\) is continuous and nondecreasing. As \(c\) approaches zero, \(S(c)\) approaches \(\sum_k l_k\); for sufficiently large \(c\), it equals \(\sum_k u_k\). Thus, if the bounds are feasible, a value of \(c\) producing a sum of one exists. A numerical implementation can find such a value by bisection. If a whole interval of values gives the same vector, any of those values is adequate.
Worked Example: Applying an Upper Bound and Renormalizing
Suppose the raw three-arm target is \(q=(0.60,0.25,0.15)\). The target share for arm 1 may not exceed \(0.50\); arms 2 and 3 must remain within \([0.20,0.40]\) and \([0.10,0.30]\), respectively. These bounds are feasible: the lower bounds sum to \(0.40\), and the upper bounds sum to \(1.20\).
Arm 1 reaches its upper bound when \(0.60c=0.50\), or \(c=0.8333\). At a larger scale, with arms 2 and 3 still unclipped, their shares retain the raw ratio \(0.25:0.15=5:3\). The remaining share after assigning \(0.50\) to arm 1 is \(0.50\), so \(t_2=0.50(5/8)=0.3125\) and \(t_3=0.50(3/8)=0.1875\). These correspond to \(c=1.25\), since \(1.25(0.25)=0.3125\) and \(1.25(0.15)=0.1875\). Therefore the constrained target is \(t=(0.50,0.3125,0.1875)\); its shares sum to one and each satisfies its bound.
Simply replacing \(q_1=0.60\) by \(0.50\) and leaving the other entries unchanged would give a total of \(0.90\), not one. Dividing those entries by \(0.90\) would yield an arm 1 share of \(0.50/0.90=0.5556\), violating its upper bound. The common-scale construction instead redistributes the remaining share across the unconstrained arms while respecting their relative proportions.
Worked Example: Enforcing Lower Bounds
Let \(q=(0.80,0.15,0.05)\), with lower bounds \(l=(0.20,0.20,0.15)\) and no restrictive upper bounds beyond one. The lower bounds sum to \(0.55\), so the constraints are feasible. Choose \(c=0.8125\). Then \(cq=(0.65,0.121875,0.040625)\), and clipping to the lower bounds gives \(t=(0.65,0.20,0.15)\).
The resulting shares sum to \(0.65+0.20+0.15=1\). Arms 2 and 3 are at their lower bounds, while arm 1 receives the remaining share. At \(c=0.8125\), arms 2 and 3 are clipped to their lower bounds and arm 1 receives the remaining share, giving \((0.65,0.20,0.15)\). In particular, a positive scale can produce the lower-bound vector for other data as well; the scale does not have to make the un-clipped shares sum to one before clipping.
Ratio Constraints and a General Constrained Target
A ratio restriction can be stated directly in terms of target shares. For example, \(a\leq t_i/t_j\leq b\), where \(0<a\leq b\) and \(t_j>0\), is equivalent to the two linear inequalities \(t_i\geq a t_j\) and \(t_i\leq b t_j\). This form makes clear that ratio limits concern the target vector, and it also allows them to be combined with box constraints. All restrictions must be jointly feasible; individually plausible limits can conflict when combined.
For a general collection of restrictions, one standard way to choose among feasible targets is to find the probability vector closest to \(q\) in Kullback–Leibler divergence:
Assume \(q_k>0\) and that the feasible set is nonempty. Box limits and linear ratio limits define a convex feasible set. The objective is strictly convex in \(t\), so there is a unique minimizer. The constraint \(\sum_k t_k=1\) is built into this optimization, rather than being applied as an afterthought. In computation, feasibility should be checked, and the achieved sum and every restriction should be checked after solving. If the design requires positive target shares for every arm, positivity must also be imposed or otherwise guaranteed.
Worked Example: A Two-Arm Ratio Limit
Suppose a two-arm raw target is \(q=(0.80,0.20)\), but the ratio \(t_1/t_2\) must lie between \(1/2\) and \(2\). The raw ratio is \(0.80/0.20=4\), which exceeds the upper limit. At the closest permitted ratio, \(t_1/t_2=2\); together with \(t_1+t_2=1\), this gives \(t_1=2/3\) and \(t_2=1/3\). The constrained target is therefore approximately \((0.6667,0.3333)\).
For illustration, suppose the current allocation fractions are \(x=(0.75,0.25)\), and use \(\gamma=1\). In a DBCD, the unnormalized next-assignment weight for arm \(k\) is \(t_k(t_k/x_k)^\gamma\). The weights here are \(w_1=(2/3)^2/0.75=16/27\approx0.5926\) and \(w_2=(1/3)^2/0.25=4/9\approx0.4444\). Their sum is \(28/27\). Thus the next-assignment probabilities are \(p_1=(16/27)/(28/27)=4/7\approx0.5714\) and \(p_2=(4/9)/(28/27)=3/7\approx0.4286\).
The constrained target has ratio 2, while the next-assignment probabilities have ratio \(4/3\). That difference is expected: the DBCD uses the constrained target together with the current allocation state to determine the next assignment.
Using the Constrained Target in a DBCD
At an allocation update after \(n>0\) assignments, let \(N_{k,n}\) be the number assigned to arm \(k\), and let \(x_{k,n}=N_{k,n}/n\) be its observed allocation fraction. Let \(q_n\) be the current raw target, possibly obtained by plugging response estimates into a prespecified target map. First construct a feasible constrained target \(t_n\). When all \(t_{k,n}\) and \(x_{k,n}\) are positive, the multi-arm DBCD assignment probabilities are
The denominator normalizes the positive weights, ensuring that the assignment probabilities sum to one. The constrained target replaces the raw target in the allocation rule; the ratio correction and its normalizing denominator remain part of the DBCD. The formula applies when its ratios are defined. Initialization and zero-count handling require a separate prescribed rule, rather than silently substituting zero into the displayed expression.
The common-scale construction has a useful justification: clipping enforces the coordinate limits, and choosing \(c\) to make the clipped sum one enforces the probability-vector requirement. The existence argument for \(c\) follows from continuity and the feasible bound sums. It does not imply that the next-assignment probabilities satisfy the target bounds, nor does it prove that realized sample counts will match the target at every stage.
Diagnostics, Alternatives, and Limitations
Before using a constrained target, check that it is a valid probability vector and that every restriction is satisfied. For box bounds, verify \(l_k\leq u_k\) for every \(k\), and \(\sum l_k\leq1\leq\sum u_k\). For ratio constraints, check feasibility jointly with the sum-to-one condition and any box bounds. After computing \(t\), check its sum, its componentwise bounds, and each requested ratio. In software, also inspect which constraints are active: an arm repeatedly fixed at a bound may indicate that the raw target often conflicts with the design restriction.
| Approach | What it does | Main caution |
|---|---|---|
| Common-scale clipping | Imposes componentwise bounds while preserving raw relative shares among unclipped components. | Applies to box constraints; it does not by itself handle arbitrary ratio restrictions. |
| Constrained optimization | Chooses a feasible target close to the raw target under a stated objective, such as KL divergence. | Requires a feasible optimization problem and correct encoding of all restrictions. |
| Post-hoc clipping and normalization | Clips shares and then divides them by their sum. | Normalization can move a clipped share outside its bound; restrictions must be checked again. |
A common mistake is to treat upper and lower bounds as instructions to edit individual coordinates, then assume that normalization preserves the restrictions. It does not. For instance, clipping one share to an upper bound and dividing every share by a total below one increases that share and can make it exceed the bound. The correction is to choose the constrained vector jointly: for box constraints, solve for the common scale after clipping; for general constraints, solve the constrained problem with the sum-to-one condition included.
Constraints also change the scientific target. A limit may protect against assigning too many participants to one arm, but it can move the design away from the allocation that the raw target would choose. A constrained target does not guarantee a particular realized allocation in a finite sample, and it does not by itself guarantee positive next-assignment probabilities in every state. Those are distinct design properties. The bounds and ratio limits should therefore be justified before the trial, not selected solely because they make a particular update convenient.
Check Your Understanding
Answer each question, then compare your reasoning with the solutions below.
- For lower bounds \(l=(0.2,0.3,0.1)\) and upper bounds \(u=(0.6,0.7,0.5)\), is the box-constrained target set feasible?
- A two-arm target has \(q=(0.7,0.3)\), and the largest permitted ratio \(t_1/t_2\) is \(3/2\). Find the constrained target at the limiting ratio.
- Why is clipping a target coordinate and then renormalizing not generally a valid way to impose an upper bound?
- Does imposing bounds on the target imply that the next-assignment probabilities satisfy those same bounds?
Solutions. (1) Yes. The lower bounds sum to \(0.6\leq1\), and the upper bounds sum to \(1.8\geq1\), so the box constraints are feasible. (2) At the limiting ratio, \(t_1=(3/2)t_2\) and \(t_1+t_2=1\). Hence \(t_2=1/(1+3/2)=0.4\) and \(t_1=0.6\). (3) Dividing by a total below one increases the clipped coordinate, potentially taking it above its upper bound; the sum and bounds must be satisfied jointly. (4) No. The DBCD combines the constrained target with current allocation fractions and normalizes the resulting weights, so the next-assignment probabilities can differ from the target shares.