Even SIMPLE Antenna are actually very complicated and do NOT conform to some sort of "algebraic formula(s)" for description of (Horizontal+Vertical=Total) Forward Gain vs Frequency, 3-Dimensional Gain vs Frequency (not just a 2-D Horizontal or Vertical "slice"), Complex & Real Impedance vs Frequency and (where appropriate) Front/Back & Front/Rear Ratios vs Frequency, Beamwidth and Sidelobe Null Depth. And, of course, WIDEBAND Antennas are more complicated than Narrowband Antennas.
As described here, even a SIMPLE Yagi-Uda Antenna defies a closed-form solution:
[Almost all Quarter-Wavelength Dimensions, Just ONE of MANY Charts]
Note that a presumably "optimized" 3-Element Yagi-Uda (IF nearly ALL dimensions were Quarter-Wavelength) would have a Characteristic Impedance of 28-ohms, which does NOT match very well to the usual 50-ohm Transmitter....and 4:1 Balun does NOT help...although a CAREFULLY designed Folded Dipole Active Element CAN minimize the SWR. Fortunately, modern Optimizers search across MANY different design parameters and find the set of dimensions which provide the "best" OVERALL COMPROMISE against a set of "balanced" performance criteria ("Target Function" in nikiml's Optimizer).
Mr. Yagi and Mr. Uda (and most other Antenna Designers) actually determined SOME of these performance parameters by constructing and TESTING hundreds if not thousands of Antennas with small changes in the various Dimensions and charting the results to find the "better" set of dimensions, recognizing that there are trade-offs of Gain vs SWR vs F/B & F/R Ratios. They (and others) did this for a small number of Elements...eventually adding a large number of (usually non-optimum) EQUALLY Spaced Directors, as described in fol. National Bureau of Standards (NBS) TN-688 "Yagi Antenna Design", Oct 1976:
Various Software programs for Yagi, LPDA and other Antenna types have used Look-Up-Tables based on the above performance charts to "design" GOOD, but perhaps not OPTIMIZED Dimensions (as we do using 4nec2, nikiml's Scripts and other programs). For a given set of Element Diameters, there are FIVE Variables in a simple 3-Element Yagi Antenna, and 1+ONE additional Variables if ALL additional Directors are the same Length (like 91-XG) and 1+TWO additional Variables if additional Directors are allowed to be different Lengths for even better results.
The only way to verify an existing design or to "find" GOOD...or Optimized Dimensions for a given Antenna type is to use a Simulation Model (like NEC2 Engine within 4nec2 & nikiml Optimizer). Although there are alternative techniques, the most popular is the Method of Moments (MoM) calculation algorithms embedded within NEC2 & NEC4. MoM is an exhaustive process that calculates the effect that each and every small segment in each of the wires affects the mutual impedance coupling to each and every other segment in every other wire, deriving the performance parameters from these calculations.
Fortunately, 4nec2 is FREE and "only" requires the input of a set of "Wire Statements" that define the starting and ending points in X,Y,Z Coordinates....and a few other Environment and Housekeeping statements. The nikiml Optimizer requires one more step: the Optimization Dimensions need to be expressed as SYmbol Variables, rather than numeric X,Y,Z.
My ANTENNA SIMULATIONS link below leads to over 500 4nec2 models analyzed (nearly all TV Broadband), of which about 100 used nikiml's Python Optimization Scripts, so I understand it's become a fairly daunting process to sort through and find a good "example" to start with.
I would recommend UHF HOURGLASS-LOOP as a good SIMPLE 4nec2 and Optimization example, using only THREE SYmbol Variables: Height, Width and Source Gap (aka Length of Balun+Center Wires):
If appropriate, look at UHF SOLID TRIANGLE BOWTIE as a good 4nec2 and Optimization example using Triangular structures to simulate a SOLID sheet of metal, using only THREE SYmbol Variables: Bow Length, Tine Separation and Feedpoint Separation: