Optimized Transformer Design Using MATLAB
Optimized Transformer Design Using MATLAB
TITLE:
DESIGN OPTIMIZATION OF
DISTRIBUTION TRANSFORMER USING
MATLAB
(Application, Comparative Study)
Prepared By:
AHMED HASSAN AHMED HASSAN
Supervised By:
Dr. EL-KHAWAD ALI EL-FAKI AHMED
MAY, 2013
بسم الله الرحمن الرحيم
TITLE:
DESIGN OPTIMIZATION OF
DISTRIBUTION TRANSFORMER USING
MATLAB
(Application, Comparative Study)
Prepared By:
Ahmed Hassan Ahmed Hassan
Supervisor:
Dr. EL-KHAWAD ALI EL-FAKI AHMED
MAY, 2013
Wisdom
I
Dedication
TO MY PARENTS
who waited long for this
AND
TO MY NATION
who is waiting for more of this
II
Acknowledge
I would like to express my thanks and gratitude to Allah, the Most Beneficent, the Most
Merciful whom granted my ability and willing to start and complete this thesis.
Acknowledgement is due to the Sudan Academy for Science, for supporting this
research.
I would like to express my deepest sense of gratitude to my supervisor Dr. El-Khawad
Ali El-Faki Ahmed, for his patient guidance, encouragement and excellent advice
throughout this study
I would like gratefully acknowledge with thanks the support of the SUDATRAF
(Sudanese Egyptian Electrical Industry), for the Support and the provided helpful data.
My special gratitude to Mr. Nezar Salih, who taught me a lot in transformer design.
III
Table of Contents
Wisdom ........................................................................................................................................................ I
Dedication .................................................................................................................................................. II
Acknowledge ............................................................................................................................................ III
Table of contents ....................................................................................................................................... IV
List of tables .............................................................................................................................................. VI
List of figures .......................................................................................................................................... VII
Thesis abstract ........................................................................................................................................ VIII
1. chapter 1: introduction ........................................................................................................................ 1
1-1 PROBLEM DESCRIPTION:.............................................................................................................. 1
1-2 PROBLEM IMPORTANCE ............................................................................................................... 1
1-3 SCOPE OF THE STUDY .................................................................................................................. 2
1-4 OBJECTIVES ................................................................................................................................ 2
1-5 RESEARCH LAYOUT ..................................................................................................................... 3
IV
5-9 COMBINED METHODS ................................................................................................................ 72
5-10 TOMLAB OPTIMIZATION TOOLBOX ............................................................................................ 73
V
List of tables
VI
List of figures
VII
Thesis Abstract
VIII
خالصة الرسالة
بسبب االعداد الكبيرة التي تستخدم و تركب سنويا من محوالت التوزيع في الشبكة الكهربائية,
فانه من المطلوب تصنيع و عمل محوالت باقل تكلفة .كما ان استيفاء و تحقيق المواصفات المطلوبة
للمحوالت هو عامل مهم البد من اخذه في االعتبار ,و كما هو معلوم فان تصميم المحول هو مهمة
قد تستغرق وقتاً طويل .عدة طرق للتصميم األمثل اقترحت هنا و اختبرت .في هذه الرسالة تم طرح
محاولة ناجحة لتصميم محول التوزيع الكهربي ,و ذلك باستخدام عدة طرق :الطريقة االولى :هي
باستخدام خوارزمية البحث البدائي الشامل و ذلك ببرمجتها بالماتالب ,الطريقة الثانية :و هي
باستخدام صناديق االدوات الخاصة بالتصميم االمثل المتضمنة في برنامج الماتالب ,و الطريقة
الثالثة :و هي باستخدام صناديق ادوات قائمة بذاتها و لكنها تعمل في بيئة برنامج الماتالب ,بالتحديد
.TOMLAB toolboxو تم استعراض الصيغة الرياضية المستعملة حاليا في تصميم محوالت
التوزيع ,و تم تطبيق الطرق المتعددة .من النتائج تبرهن فعالية و جدوى العمل ببعض الطرق
المقترحة و تتبين تقليل التكلفة الناتج .و بالتحديد فان طريقة البحث البدائي الشامل قد اثبتت فعاليتها
من ناحية دقة و سرعة الحل ,و قد تم تطوير برنامج لهذه الطريقة و ذلك باستخدام واجهة المستخدم
الصورية.
العبارات الدالة :تصميم محوالت التوزيع ,التصميم االمثل ,خوارزمية البحث البدائي.
IX
Chapter 1:
Introduction
1. Chapter 1: Introduction
1
Implementing the proposed improvement of the design could lead to reduction in the
transformer cost, even a slight reduction in cost per transformer unit would be huge
reduction of the transformers purchasing budget due to the large amounts of them. Also,
by applying the improved algorithm, the uncertainty of chance of minimum cost is
vanished. By localizing the transformer design practice in Sudan, hard currency could
be saved.
1-4 Objectives
In this thesis the following objectives have been formulated:
1- To develop computer based algorisms to give the optimum design of the iron core
section with given available sizes and given number of steps. Which is very useful
program that solves a main problem in transformer core design.
2- To develop computer based design program algorithms to give the optimum design
for the distribution transformers, by selecting design parameters, i.e. copper size,
core size, insulation thickness, cost, etc. has been developed.
3- To compare the total cost of a transformer obtained using the proposed algorithms
with the total cost obtained using the currently used design method. This objective
is needed to evaluate the gain of implementation of the proposed algorithms in
transformer design.
2
1-5 Research layout
This thesis constructed of seven chapters; the flow of thesis presentation will be
as follows: Chapter 2 presents the theoretical background of distribution transformers,
transformer design, in addition to the previous studies. Chapter 3 presents an overview
of optimization literature and optimization in MATLAB programming language.
Chapter 4 presents the design formulae of transformer design problems to be solved.
Methodologies of The proposed design procedures of the transformer are declared in
chapter 5. Chapter 6 presents the implementation of the several methods with results and
discussion. Chapter 7 which included the conclusion and future works recommendations.
3
Chapter 2:
Theoretical background
and previous studies
2. Chapter 2: Theoretical Background and previous
studies
5
2-2 Distribution transformer construction
The basic arrangement is the iron core in the shape of three legs and tow upper
and lower yokes, forming a rectangular shape with inner middle leg, with almost circular.
The iron core is covered by the windings (coils), first, by the low voltage coil, which
consists of layered copper foil or flat wires, the copper turns are fully insulated with
insulating paper, the low voltage coil is covered by the high voltage coil, which also
consists of layered insulated copper wires. The next figure shows the main constructure
of the distribution transformer.
6
distribution transformers frequently use other types of winding construction not found in
larger transformers. Because of the low kVA ratings, the volt per turn is usually very low
so that for a higher-voltage winding a considerable number of turns will be required. The
current is also low and the turn cross-section area, as a result, is small too. The winding
wires are frequently circular in section and enamel covered.
The iron core is made of an iron alloy called Silicon Steel, also called ( Electrical
steel, lamination steel or transformer steel ) which consists of 1% up to 6.5%Si,
increasing the amount of Silicon inhibits eddy currents and narrow the hysteresis loop of
the material, which reduces the core losses. [1]. The most used Silicon Steel material is
Cold Rolled Grain Oriented Silicon steel (CRGO), which is processed Silicon steel in
such a way that the optimum properties are developed in the rolling direction, due to the
tight control of the crystal orientation relative to the sheet. Due to the special orientation
the magnetic flux density is increased by 30% in the coil rolling direction, but the
magnetic saturation is decreased by 5%. Coating of Silicon steel sheets: Silicon steel is
coated to: increase resistance between laminations, provide resistance to corrosion and
rust and to act as a lubricant during die cutting. The usually used coating is oxide coating
(commercially known as Carlite). [5]. There are two factors those determine the core
effective area, weight and losses, those are:
a- Core Stacking Factor (SF):
Stacking factor is a correction number that represents the space lost between
laminations. Both surfaces of lamination (electrical sheet) are provided with an insulation
of oxide coating (commercially known as Carlite). The stacking factor of lamination
improves by using thicker laminations. This will increase the eddy current loss in
proportion of square of the thickness of the lamination. Therefore, to reduce the eddy
current losses, thinner laminations are preferable even though the stacking factor will go
down. In conventional silicone steel sheets, the stacking factor is in the range of 0.95 –
0.98 depending on the thickness of laminations. [4]. In this thesis, the considered stacking
factor for each lamination thickness is 0.96 for the 0.27mm thickness laminates (sheets),
and 0.97 for the 0.30mm thickness laminates. These values are usually provided by the
supplier of the Silicon Steels.
b- Building factor (BF):
It is a number that should be multiplied by the ideal core loss. It is the sum of different
factors that increase the losses in the core such as the gap between different laminations
at corners where the induction must overpass. Another factor that increases the loss is
7
burrs produced by cutting and slitting of sheets. The building factor of stacked cores is
generally in the range of 1.1 – 1.3 which varies from manufacturer to another. [4]
Total weight of the core results from multiplying the ideal area of core by SF and this
is then multiplied by the total length of core by the density of silicon steel. Silicon steel
density is usually provided by steel manufacturer which is considered as 7.65 kg/cm3.
Therefore, the core weight is: [4]
𝑪𝒐𝒓𝒆 𝒘𝒆𝒊𝒈𝒉𝒕 (𝒌𝒈) = 𝑰𝒅𝒆𝒂𝒍 𝒂𝒓𝒆𝒂 (𝒄𝒎𝟐) × 𝑺𝑭 × 𝑪𝒐𝒓𝒆 𝒕𝒐𝒕𝒂𝒍 𝒍𝒆𝒏𝒈𝒕𝒉 (𝒎𝒎) ×
𝟕. 𝟔𝟓 × 𝟏𝟎^ − 𝟒 Eq. 2-4
Where:
𝑪𝒐𝒓𝒆 𝒕𝒐𝒕𝒂𝒍 𝒍𝒆𝒏𝒈𝒕𝒉 = 𝟑 × 𝑪𝒐𝒓𝒆 − 𝒘𝒊𝒏𝒅𝒐𝒘 𝒉𝒆𝒊𝒈𝒉𝒕 (𝒎𝒎) + 𝟐 × 𝑪𝒐𝒓𝒆 −
𝒚𝒐𝒌𝒆 (𝒎𝒎) Eq. 2-5
A Transformer designer always tries to maximize the core area in order to obtain
optimum stacking arrangement by using specific number of steps. It is a normal practice
that transformer manufacturer will keep standard widths of sheets or do slitting based on
certain sheet width increment such 5 or 10 mm. In this thesis, the considered steel width
increment is 10 mm. From practical point of view, this is not possible since it requires
numerous ranges of laminations widths. Usually, a core is made of different number of
steps, for smaller cores of distribution transformers; this could be as few as five or less.
For larger transformers, this might be 11 steps or more. The geometric parameters which
can be used to get the optimum stacking arrangements, namely the x and y coordinates
of stack coroners which touch the circle of radius, done by Vecchio [6], the normalized
x coordinates which maximize the core area for a given number of steps are given below,
notice that it will give step sizes that do not accepted as standard sizes, in this thesis a
better way to select steps is developed.
8
Fractional
Number circular
of steps Normalized x coordinates, xi/r
occupied
(n)
A/π2
1 0.6366 0.7071
2 0.7869 0.5257 0.8506
3 0.8510 0.4240 0.7070 0.9056
4 0.8860 0.3591 0.6064 0.7951 0.9332
5 0.9079 0.3138 0.5336 0.7071 0.8457 0.9494
6 0.9228 0.2802 0.4785 0.6379 0.7700 0.8780 0.9599
7 0.9337 0.2543 0.4353 0.5826 0.7071 0.8127 09002 0.9671
0.2335 0.4005 0.5375 0.6546 0.7560 0.8432 0.9163
8 0.9419
0.9732
0.2164 0.3718 0.4998 0.6103 0.7071 0.7921 0.8661
9 0.9483
0.9283 0.9763
0.2021 0.3476 0.4680 0.5724 0.6648 0.7469 0.8199
10 0.9534
0.8836 0.9376 0.9793
fig 2-4 (Geometric parameters for finding the optimum stacking step
configuration) [6]
9
fig 2-5 (3D drawing of an assembled iron core)
10
fig 2-7 (iron core cross section)
The copper winding consists of copper turns in layers; Copper conductor could be: Foil,
Flat or round cross section. The foil copper is used when high current is to be in the coil,
e.g. Low voltage (high current) in the large rating transformer. That because it has a
large cross section area. The flat copper conductors have less cross section area, so it can
carry less current than Foils. It can be used in the high voltage windings and also in the
low voltage windings. The round copper conductors have the least cross section areas,
so it can carry little currents only, so it is only used in the high voltage (Low current)
windings.
11
2-3 Transformer design formulae
Transformer design can be considered as one of the most complex electrical
equipment's design problems. In transformer design, there are many characteristics and
factors to be achieved such as the rated power, voltage ratings of windings, and pre-
specified voltage impedance value, etc. At the end, a variety of designs can be found
which guarantee the required characteristics of a transformer. [4]. Transformer cost
consists mainly of two parts. The capital cost of transformer and the system losses cost.
[2]. These different end products differ in their design parameters such as core flux
density and radius, dimensions of windings including radial and axial, secondary or
primary number of turns, current densities of primary and secondary conductors, etc.
Even though the user requirements are achieved, the above parameters (i.e. core flux
density and radius, dimensions of windings, etc.) play a main function in determining the
transformer cost. The main elements in transformer design are design of iron core and
copper coils.
The main formulae are:
a- Flux density: The main equation in the transformer design is:
𝑬
𝑵
𝑩𝒎 = Eq. 2-6
𝟒.𝟒𝟒∗𝒇∗𝑨𝒄
Whereas:
𝐵𝑚 = maximum operating flux density (Tesla), has a maximum value, that value is
specified by the manufacturer.
𝐸 = voltage of primary or secondary coils. (Volt)
𝑁 = number of turns in the primary or secondary coils.
𝐸
= volt per turn. (E, N) must be for the same coil. (Either primary or secondary). (Volt)
𝑁
𝐸
Has the same value in the primary and secondary coils.
𝑁
12
supplier; the properties of core iron losses are varying according to vendors, however, it
would look like the figure below:
13
e- Clearances between components:
The following practical minimum clearances between two adjacent HV coils, HV-LV
winding and LV-core can employed safely:
Gap core-LV (radial) = 6 mm when the line voltage of the low tension coil < 2000 V,
Or = 8 mm when the line voltage of the low tension coil > 2000 V,
14
f- Transformer winding impedance:
One of the main transformer characteristics that end users or system designers request
to be guaranteed is the transformer impedance. Transformer designers always seek to
meet the limits of minimum and maximum values of specified impedance. In the case of
distribution transformers, utilities specify a standard impedance value for each rating of
transformer. The normal way to express the transformer impedance is as a percentage
voltage drop in the transformer at full load current. This reflects the method which it is
seen by the system designer. Percentage resistance and reactance of windings are the
components that determine transformer percentage impedance. The general formula that
specifies the percentage impedance is as follows:
Eq. 2-11:
%𝑍 = 𝐼√𝑅 2 + 𝑋 2 ∗ 100
𝐸
Where:
I = transformer primary or secondary full load current
E= transformer primary or secondary open circuit voltage
R= coil resistance per phase
X= coil reactance per phase
Eq. 2-12:
𝑝∗𝐿∗𝑁
𝑅=
𝐴
Where:
p= copper conductor resistivity at the temperature of interest
L= mean length of conductor
N= number of turns
A= cross section area of conductor
Resistance calculated by this equation must be multiplied by three to obtain the total
windings resistance.
15
Copper resistivity at 20oC is 1.724 × 10-8 Ω.m can be recalculated at temperatures of
interest (75oC or 85oC as per IEC60076 and ANSIC57 international standard
respectively) as follows:
Eq. 2-13:
𝑇𝑟𝑒𝑓 + 234.5
𝑝 = 1.724 ∗ 10−8 [ ]
234.5 + 20
The accuracy of determining the windings resistance depends on how accurate the mean
length of turn can be calculated. Obviously, winding dimensions play the main role in
computing the mean length of turn which can be calculated as follows:
Eq. 2-14:
𝑀𝐿𝑇𝐿𝑉 = 𝜋(𝐼𝐷𝐿𝑉 + 𝑅𝐷𝐿𝑉 )
where:
MLTLV = mean length of LV winding turn (mm)
IDLV = LV winding inside diameter (mm)
RDLV= LV winding radial depth (mm)
Eq. 2-15:
16
fig 2-11 (half cross section-showing dimensions controlling reactance)
Eq. 2-16:
(2𝜋)2 𝑢𝑓𝑉𝐼 𝑅1 ∗ 𝑑1 𝑅2 ∗ 𝑑2
𝑋= { + + 𝑅𝑚 ∗ 𝑔}
(𝑉/𝐼)2 ℎ 3 3
where:
h = (h1+h2)/2
V = primary or secondary phase voltage
I = primary or secondary phase current
N = primary or secondary number of turns
u = magnetic space constant = 4π*10-7
17
Eq. 2-17:
Load losses = (I2RHV+I2RLV+Eddy LossHV+Eddy LossLV+ connection lossesHV
+ connection lossesLV) * 1.04
Eq. 2-18:
Eddy losses (for each LV and HV coils) = (conductor thickness) 4 * (NO. of
turns) 2 * (I2R) /100000
Eq. 2-19:
Connection losses (for each LV and HV coils) = Iphase * I2R / 20000
Stray losses: Assumed as a percentage of the total load losses, it is 4%, so the
total load loss is multiplied by 1.04.
18
some constraints could be violated. The below figure shows the flowchart of the used
design procedure.
19
Optimum Design of Power Transformers Using Minimum Number of Input Parameters)
[9], they used the decision tree optimization approach, which is easy to work with, but
so difficult to program it, since it requires building a knowledge base structured on more
than 2500 previous designs. Another research was done by (Li Hui, Han li, He Bie) in
the paper of: (Application research based on improved genetic algorithm or optimum
design of POWER transformers) [10], represents an Improved Genetic Algorithm (IGA)
optimization method applied to the power transformer design problem. The target of this
method was to overcome the Simple Genetic Algorithm (SGA) common problems. The
design was limited to the use of rectangular copper strip in primary and secondary
windings. Moreover, distribution transformers frequently use a type of winding
construction not found in large transformers. An useful work is (Cost effective design of
conventional transformer using optimization techniques) [4], done by (MOHAMMED
YOUSEF ABU-SADA), who used two optimization techniques to improve the
distribution transformer design, the techniques were 1- nonlinear optimization and 2-
genetic optimization, the two techniques used are considered as continuous optimization
techniques, which are powerful, but they return the optimum solution using impracticable
values of variables, because many transformer design variables are integers and many
have standard values. He applied the optimization techniques and rounded-off the
obtained variables values, and accepted them as values of optimum design. But we know
that the author of the book of (Engineering optimization, theory and practice) [11] wrote
in his book, that :" it is POSSIBLE to use any of continuous optimization techniques and
round off the optimum values; However in many cases it is difficult to round off the
solution without violating any of the constraints, Frequently the rounding of certain
variables requires substantial changes in the values of some other variables to satisfy all
the constraints; Further, the round off the solution may give value of the objective
function that is very far from the possible optimum value. All these difficulties can be
avoided if the optimization problem is posed and solved as an integer programming
problem". All those previous studies are based on finding the only optimum solution
using an optimization tool, the tools used are optimization tools for continuous variables,
which are not suitable for transformer design variables. [2]
20
Chapter 3:
Optimization Overview
21
3. Chapter 3: Optimization Overview
Thus, without loss of generality, optimization can be taken to mean minimization since
the maximum of a function can be found by seeking the minimum of the negative of the
same function.
c- Design Constraints
In many practical problems, the design variables cannot be chosen arbitrarily; rather, they
have to satisfy certain specified functional and other requirements.
The restrictions that must be satisfied to produce an acceptable design are collectively
called design constraints.
24
Constraints that represent limitations on the behavior or performance of the system are
termed behavior or functional constraints. Constraints that represent physical limitations
on design variables such as availability, fabric-ability, and transportability are known as
geometric or side constraints.
d- Objective Function
The conventional design procedures aim a finding an acceptable or adequate design
which merely satisfies the functional and other requirements of the problem.
In general, there will be more than one acceptable design, and the purpose of
optimization is to choose the best one of the many acceptable designs available.
Thus a criterion has to be chosen for comparing the different alternative acceptable
designs and for selecting the best one. The criterion with respect to which the design is
optimized, when expressed as a function of the design variables, is known as the criterion
or merit or objective function.
The choice of objective function is governed by the nature of problem. The objective
function for minimization is generally taken as weight in aircraft and aerospace structural
design problems. In civil engineering structural designs, the objective is usually taken as
the minimization of cost. The maximization of mechanical efficiency is the obvious
choice of an objective in mechanical engineering systems design.
Thus the choice of the objective function appears to be straightforward in most design
problems.
25
minimum subject to certain constraints. Such problems are called parameter or static
optimization problems. In the second category of problems, the objective is to find a set
of design parameters, which are all continuous functions of some other parameter, which
minimizes an objective function subject to a set of constraints. Here the design variables
are functions of the parameters. This type of problem, where each design variable is a
function of one or more parameters, is known as a trajectory or dynamic optimization
problem.
26
d- Classification Based on the Permissible Values of the Design Variables
Depending on the values permitted for the design variables, optimization problems can
be classified as integer and real-valued programming problems. If all of the design
variables of an optimization problem are restricted to take on only integer (or discrete)
values, the problem is called an integer programming problem or in case of discrete
values, the problem is called combinatorial optimization problem. On the other hand, if
all the design variables are permitted to take any real value, the optimization problem is
called a real-valued programming problem. If only some of the variables are restricted to
be integer, and the other variables are not restricted to that, it would be called a mixed-
integer optimization problem.
27
- Direct Substitution
- Constrained variation
- Lagrange multiplier
28
but not the partial derivatives of the function in finding the minimum and hence are often
called the non-gradient methods. The direct search methods are also known as zeroth
order methods since they use zeroth-order derivatives of the function. These methods are
most suitable for simple problems involving a relatively small number of variables.
These methods are, in general, less efficient than the descent methods. The descent
techniques require, in addition to the function values, the first and in some cases these
second derivatives of the objective function. Since more information about the function
being minimized is used (through the use of derivatives), descent methods are generally
more efficient than direct search techniques. The descent methods are known as gradient
methods. Among the gradient methods, those requiring only first derivatives of the
function are called first-order methods, those requiring both first and second derivatives
of the function are termed second-order methods. All the nonlinear minimization
methods are iterative in nature and hence they start from an initial trial solution and
proceed toward the minimum point in a sequential manner. It is important to note that all
the unconstrained minimization methods require an initial point X0 to start the iterative
procedure, and differ from one another only in the method of generating the new point
Xi+1 (From Xi) and in testing the point Xi+1 , for optimumity. In the direct methods, the
constraints are handled in an explicit manner, whereas in most of the indirect methods,
the constrained problem is solved as a sequence of unconstrained minimization problems.
[11].
d- Geometric programming
It is a relatively new method of solving a class of nonlinear programming problems.
It is used to minimize functions that are in the form of posynomials subject to constraints
of the same type. It differs from other optimization techniques in the emphasis it places
on the relative magnitudes of the terms of the objective function rather than the variables.
Instead of finding optimum values of the design variables first, geometric programming
first finds the optimum value of the objective function. This feature is especially
advantageous in situations where the optimum value of the objective function may be all
that is of interest. In such cases, calculation of the optimum design vectors can be
omitted. Another advantage of geometric programming is that it often reduces a
complicated optimization problem to one involving a set of simultaneous linear algebraic
equations. The major disadvantage of the method is that it requires the objective function
and the constraints in the form of posynomials. [11]
29
e- Dynamic Programming:
In most practical problems, decisions have to be made sequentially at different points
in time, at different points in space, and at different levels, say, for a component, for a
subsystem, and/or for a system. The problems in which the decisions are to be made
sequentially are called sequential decision problems. Since these decisions are to be made
at a number of stages, they are also referred to a multistage decision problems. Dynamic
programming is a mathematical technique well suited for the optimization of multistage
decision problems. The dynamic programming technique, when applicable, represents or
decomposes a multistage decision problem as a sequence of single-stage decision
problems. Thus an N-variable problem is represented as a sequence of N single-variable
problems that are solved successively. In most cases, these N sub-problems are easier to
solve than the original problem. The decomposition to N sub-problems is done in such a
manner that the optimum solution of the original N-variable problem can be obtained
from the optimum solutions of the N one-dimensional problems. It is important to note
that the particular optimization technique used for the optimization of the N single-
variable problems is irrelevant. It may range from a simple enumeration process to a
differential calculus or a nonlinear programming technique. [11]
f- stochastic programming:
Stochastic or probabilistic programming deals with situations where some or all of
the parameters of the optimization problem are described by stochastic (or random or
probabilistic) variables rather than by deterministic quantities. The sources of random
variables may be several, depending on the nature and the type of problem. For instance,
in the design of concrete structures, the strength of concrete is a random variable since
the compressive strength of concrete varies considerably from sample to sample. In the
design of mechanical systems, the actual dimension of any machined part is a random
variable since the dimension may lie any where within a specified (permissible) tolerance
band. Similarly, in the design of aircraft and rockets the actual loads acting on the vehicle
depend on the atmospheric conditions prevailing at the time of the flight, which cannot
be predicted precisely in advance. Hence the loads are to be treated as random variables
in the design of such flight vehicles. Depending on the nature of equations involved (in
terms of random variables) in the problem, a stochastic optimization problem is called a
stochastic linear, geometric, dynamic or nonlinear programming problem. The basic idea
30
used in stochastic programming is to convert the stochastic problem into an equivalent
deterministic problem. The resulting deterministic problem is then solved by using
familiar techniques such as linear, geometric, dynamic and nonlinear programming.
There are stochastic linear, nonlinear, geometric, and dynamic programming techniques.
[11].
g- Integer programming
In all the optimization techniques considered so far, the design variables are assumed
to be continuous, which can take any real value. In many situations it is entirely
appropriate and possible to have fractional solutions. Also, in many engineering systems,
certain design variables can only have discrete values. However, there are practical
problems in which the fractional values of the design variables are neither practical nor
physically meaningful. For example, it is not possible to use 1.6 boilers in a thermal
power station, 1.9 workers in a project, and 2.76 lathes in a machine shop. If an integer
solution is desired, it is possible to use any of the optimization and round off the optimum
values of the design variables to the nearest integer values. However, in many cases, it is
very difficult to round off the solution without violating any of the constraints.
Frequently, the rounding of certain variables requires substantial changes in the values
of some other variables to satisfy all the constraints. Further, the round-off solution may
give a value of the objective function that is very far from the original optimum value.
All these difficulties can be avoided if the optimization problem is posed and solved as
an integer programming problem. When all the variables are constrained to take only
integer values in an optimization problem, it is called an (all)-integer programming
problem. When the variables are restricted to take only discrete values, the problem is
called a discrete programming problem. When some variables only are restricted to take
integer (discrete) values, the optimization problem is called a mixed integer (discrete)
programming problem. When all the design variables of an optimization problem are
allowed to take on values of either zero or 1, the problem is called a zero-one
programming problem. Among the several techniques available for solving the all-
integer and mixed-integer linear programming problems, the cutting plane algorithm and
the branch and-bound algorithm have been quite popular. Although the zero-one linear
programming problems can be solved by the general cutting plane or the branch-and-
bound algorithms, an efficient enumerative algorithm for solving those problems was
developed. Very little work has been done in the field of integer nonlinear programming.
31
The generalized penalty function method and the sequential linear integer (discrete)
programming method can be used to solve all-integer and mixed-integer nonlinear
programming problems. Integer programming problems could have linear and/or
nonlinear objective functions and constraints. The selection of suitable method to solve
depends on the linearity of the problem. The next table shows the classification of the
integer problems among with the suitable solving techniques. [11]
h- combinatorial optimization:
In applied mathematics and theoretical computer science, combinatorial optimization
is a topic that consists of finding an optimum object from a finite set of objects.
It operates on the domain of those optimization problems, in which the set of feasible
solutions is discrete or can be reduced to discrete, and in which the goal is to find the best
solution. [12]. Combinatorial optimization problems are concerned with the efficient
allocation of limited resources to meet a desired objective when some of the resources in
question can only be divided into discrete parts. In such cases, the divisibility constraints
on these resources, which may be people, machines, or other discrete inputs, may restrict
the possible alternatives to a finite set. Nevertheless, there are usually too many
alternatives to make complete enumeration a viable option for instances of realistic size.
32
So the most primitive way in combinatorial optimization methods is the Brute Force
search, which also called Enumerative Algorithm, the simplest approach to solving a
combinatorial optimization problem is to enumerate all finitely many possibilities (as
long as the problem is bounded). However, due to the “combinatorial explosion”
resulting from the fact that the size of the set S is generally exponential in the number of
variables, only the smallest instances can be solved by such an approach. A more efficient
approach is to only implicitly enumerate the possibilities by eliminating large classes of
solutions using domination or feasibility arguments. In combinatorial problems the
solution (if is exists) is an element of a set of combinatorial objects – permutations,
combinations, or subsets. The brute-force approach consists in generating the
combinatorial objects and testing each object to see if it satisfies some specified
constraints. [13]. The most suitable technique for transformer design is combinatorial
optimization, since the design of optimization is actually the selecting of variables set
from given standard or stored choices. [14]
33
finding all the possible solutions selecting one of them based on any desired criteria is a
good optimization practice.
b- Method: [12]
- Generate a list of all potential solutions to the problem in a systematic manner.
- Evaluate potential solutions one by one, disqualifying infeasible ones and, for an
optimization problem, keeping track of the best one found so far
- When search ends, announce the solution(s) found.
Exhaustive search offers an easily designed but long-running-time approach.
Exhaustive-search algorithms run in a realistic amount of time only on very small
instances. In many cases, exhaustive search or its variation is the only known way to get
exact solution
c- Strengths: [12]
- Wide applicability,
- Simplicity and
- Yields reasonable algorithms for some important problems
d- Weaknesses: [12]
- Rarely yields efficient algorithms,
- Some brute-force algorithms are unacceptably slow, and
- Not as constructive as some other design techniques
34
f- Simplicity vs. Efficiency: [12]
The brute force paradigm is to algorithmic analysis, although the brute force
paradigm is simple and very easy to follow, its simplicity pays its price in efficiency. It
is notorious for its inefficiency and is considered the lower limit when comparing other
solution methods or sorting procedures. Therefore, the brute force method is considered
the "baseline" of all algorithmic paradigms. Brute force tactics generally do not apply
any complex heuristics (decision-making) to alter its search scheme or search space, but
instead, the paradigm relies solely on pure computational power to examine all possible
solutions. We should keep in mind that the brute force method will always yield a correct
answer given that the process is allowed to execute in its entirety. [13]. To illustrate the
concept of Brute force Search, a tree is made of possibilities, like the following example,
in fig.13; which shows the producing all the combinations, and then test them all.
35
3-6 Optimization tools in MATLAB
There are two toolboxes provided with MATLAB software those deal with
optimization problems: [15]
- Optimization toolbox.
- Global optimization toolbox.
- TOMLAB; Other dependent commercial optimization toolbox work in
MATLAB environment.
1- Optimization toolbox
There are four general categories of Optimization Toolbox solvers:
a- Minimizers: This group of solvers attempts to find a local minimum of the
objective function near a starting point x0. They address problems of
unconstrained optimization, linear programming, quadratic programming,
and general nonlinear programming.
b- Multi-objective minimizers: This group of solvers attempts to either
minimize the maximum value of a set of functions (fminimax), or to find a
location where a collection of functions is below some pre-specified values
(fgoalattain).
c- Equation solvers : this group of solvers attempts to find a solution to a scalar-
or vector-valued nonlinear equation f(x) = 0 near a starting point x0.
Equation-solving can be considered a form of optimization because it is
equivalent to finding the minimum norm of f(x) near x0.
d- -Least-Squares (curve-fitting) solvers: This group of solvers attempts to
minimize a sum of squares. This type of problem frequently arises in fitting a
model to data. The solvers address problems of finding nonnegative solutions,
bounded or linearly constrained solutions, and fitting parameterized nonlinear
models to data.
Minimizers
The minimizers in MATLAB optimization toolbox are:
a- fmincon: Find minimum of constrained nonlinear multivariable function.
b- linprog: Solve linear programming problems.
c- bintprog: Solve binary integer linear programming problems.
36
d- quadprog: Quadratic programming.
e- fminsearch: Find minimum of unconstrained multivariable function using
derivative-free method.
f- fminunc: Find minimum of unconstrained multivariable function.
g- fseminf: Find minimum of semi-infinitely constrained multivariable nonlinear
function.
h- fminbnd: Find minimum of single-variable function on fixed interval.
The following table is designed to help in choosing a solver for minimizer problems; Use
the table as follows:
- Identify your objective function as one of five types:
- Linear
- Quadratic
- Smooth nonlinear
- Non-smooth
- Identify your constraints as one of five types:
- None (unconstrained)
- Bound
- Linear (including bound)
- General smooth
- Discrete (integer)
Use the table to identify a relevant solver.
Table 3-2 (Optimization Decision Table) [16]
Constraint Objective type
type Linear quadratic Smooth nonlinear Nonsmooth
n/a (f = const, fminsearch,
None quadprog fminsearch, fminunc
or min = ) *
fminbnd, fmincon,
Bound linprog, quadprog fminbnd, *
fseminf,
Linear linprog, quadprog fmincon, fseminf, *
General
fmincon fmincon fmincon, fseminf, *
smooth
Discrete Bintprog, * * * *
* means relevant solvers are found in Global Optimization Toolbox functions (licensed
separately from Optimization Toolbox solvers).
37
- fmincon applies to most smooth objective functions with smooth constraints. It is not
listed as a preferred solver for least squares or linear or quadratic programming because
the listed solvers are usually more efficient.
- The table has suggested functions, but it is not meant to unduly restrict your choices.
- The Global Optimization Toolbox GA function can address mixed integer
programming problems.
Choose an optimizer based on problem characteristics and on the type of solution you
want. Solver Characteristics contains more information that can help you decide which
solver is likely to be most suitable. From the next table following are observed:
- The only solver solves discrete programming problems with nonlinear objective
function and/or constraints using MATLAB optimization toolboxes is the ga
(genetic algorithm)
- GA can solve problems when certain variables are integer-valued.
- Also by suitable constraints, one can use pattern search in discrete optimization.
38
Table 3-3 (decision table of Global optimization toolbox) [16]
Smooth Objective and Nonsmooth Objective or
Desired Solution
Constraints Constraints
fminbnd, patternsearch,
Optimization Toolbox
Single local solution fminsearch, ga,
functions;
simulannealbnd
Multiple local solutions GlobalSearch, MultiStart -
GlobalSearch, multiStart,
patternsearch, ga,
Single global solution patternsearch, ga,
simulannealbnd
simulannealbnd
Single local solution MultiStart, Optimization
patternsearch, ga
using parallel processing Toolbox functions
Multiple local solutions
MultiStart -
using parallel processing
Single global solution
MultiStart patternsearch, ga
using parallel processing
39
B- Genetic algorithm [11]
Many practical optimum design problems are characterized by mixed continuous-
discrete variables, and discontinuous and non-convex design spaces. If standard
nonlinear programming techniques are used for this type of problem they will be
inefficient, computationally expensive, and in most cases, find a relative optimum that is
closest to the starting point. Genetic algorithms (GAs) are well suited for solving such
problems, and in most cases they can find the global optimum solution with a high
probability. Philosophically, GAs are based on Darwin's theory of survival of the fittest.
Genetic algorithms are based on the principles of natural genetics and natural selection.
The basic elements of natural genetics: reproduction, crossover, and mutation; are used
in the genetic search procedure. GAs differ from the traditional methods of optimization
in the following respects:
a- A population of points (trial design vectors) is used for starting the procedure
instead of a single design point. If the number of design variables is n, usually the
size of the population is taken as 2n to 4n. Since several points are used as
candidate solutions, GAs are less likely to get trapped at a local optimum.
b- GAs use only the values of the objective function. The derivatives are not used
in the search procedure.
c- In GAs the design variables are represented as strings of binary variables that
correspond to the chromosomes in natural genetics. Thus the search method is
naturally applicable for solving discrete and integer programming problems. For
continuous design variables, the string length can be varied to achieve any desired
resolution.
d- The objective function value corresponding to a design vector plays the role of
fitness in natural genetics.
e- In every new generation, a new set of strings is produced by using randomized
parents selection and crossover from the old generation (old set of strings).
Although randomized, GAs are not simple random search techniques. They
efficiently explore the new combinations with the available knowledge to find a
new generation with better fitness or objective function value.
40
The fitness function is the function you want to optimize. For standard
optimization algorithms, this is known as the objective function. The toolbox software
tries to find the minimum of the fitness function. Write the fitness function as a file or
anonymous function, and pass it as a function handle input argument to the main genetic
algorithm function.
b- Individuals:
An individual is any point to which you can apply the fitness function. The value
of the fitness function for an individual is its score. An individual is sometimes referred
to as a genome and the vector entries of an individual as genes.
c- Populations and Generations:
A population is an array of individuals. For example, if the size of the population
is 100 and the number of variables in the fitness function is 3, you represent the
population by a 100-by-3 matrix. The same individual can appear more than once in the
population. At each iteration, the genetic algorithm performs a series of computations on
the current population to produce a new population. Each successive population is called
a new generation.
d- Diversity:
Diversity refers to the average distance between individuals in a population. A
population has high diversity if the average distance is large; otherwise it has low
diversity. Diversity is essential to the genetic algorithm because it enables the algorithm
to search a larger region of the space.
e- Fitness Values and Best Fitness Values:
The fitness value of an individual is the value of the fitness function for that
individual. Because the toolbox software finds the minimum of the fitness function, the
best fitness value for a population is the smallest fitness value for any individual in the
population.
f- Parents and Children:
To create the next generation, the genetic algorithm selects certain individuals in the
current population, called parents, and uses them to create individuals in the next
generation, called children. Typically, the algorithm is more likely to select parents that
have better fitness values.
41
- The algorithm begins by creating a random initial population.
- The algorithm then creates a sequence of new populations. At each step, the
algorithm uses the individuals in the current generation to create the next
population. To create the new population, the algorithm performs the following
steps:
a- Scores each member of the current population by computing its fitness value.
b- Scales the raw fitness scores to convert them into a more usable range of
values.
c- Selects members, called parents, based on their fitness.
d- Some of the individuals in the current population that have lower fitness are
chosen as elite. These elite individuals are passed to the next population.
e- Produces children from the parents. Children are produced either by making
random changes to a single parent—mutation—or by combining the vector
entries of a pair of parents—crossover.
f- Replaces the current population with the children to form the next generation.
- The algorithm stops when one of the stopping criteria is met. See Stopping
Conditions for the Algorithm.
42
g- ga ignores the ParetoFraction, DistanceMeasureFcn, InitialPenalty,and
PenaltyFactor options.
The listed restrictions are mainly natural, not arbitrary. For example:
- There are no hybrid functions that support integerconstraints. So ga does not use
hybrid functionswhen there are integer constraints.
- To obtain integer variables, ga usesspecial creation, crossover, and mutation
functions.
43
current point, looking for one where the value of the objective function is lower than the
value at the current point. You can use direct search to solve problems for which the
objective function is not differentiable, or is not even continuous.
Pattern search, although much less well known, is an attractive alternative to the genetic
algorithm as it is often computationally less expensive and can minimize the same types
of functions. Pattern search operates by searching a set of points called a pattern, which
expands or shrinks depending on whether any point within the pattern has a lower
objective function value than the current point. The search stops after a minimum pattern
size is reached. Like the genetic algorithm, the pattern search algorithm does not use
derivatives to determine descent, and so works well on non-differentiable, stochastic, and
discontinuous objective functions. And similar to the genetic algorithm, pattern search is
often very effective at finding a global minimum because of the nature of its search.
Global Optimization Toolbox functions include three direct search algorithms called the
generalized pattern search (GPS) algorithm, the generating set search (GSS) algorithm,
and the mesh adaptive search (MADS) algorithm. All are pattern search algorithms that
compute a sequence of points that approach an optimum point. At each step, the
algorithm searches a set of points, called a mesh, around the current point—the point
computed at the previous step of the algorithm. The mesh is formed by adding the current
point to a scalar multiple of a set of vectors called a pattern. If the pattern search algorithm
finds a point in the mesh that improves the objective function at the current point, the
new point becomes the current point at the next step of the algorithm. The GPS algorithm
uses fixed direction vectors. The GSS algorithm is identical to the GPS algorithm, except
when there are linear constraints, and when the current point is near a linear constraint
boundary. The MADS algorithm uses a random selection of vectors to define the mesh.
The main disadvantage of the pattern search method is that its’ need to be provided with
a feasible initial point, which sometimes not available. Another disadvantage is that,
when applied to discontinuous, non-smooth problems, it tends to find the nearest local
minima point.
1- Pattern Search terminology in MATLAB [16]
a- Patterns:
A pattern is a set of vectors {vi} that the pattern search algorithm uses to determine
which points to search at each iteration. The set {vi} is defined by the number of
independent variables in the objective function, N, and the positive basis set. Two
44
commonly used positive basis sets in pattern search algorithms are the maximal basis,
with 2Nvectors, and the minimal basis, withN+1 vectors.
b- Meshes:
At each step, pattern search searches a set of points, called a mesh, for a point that
improves the objective function. Pattern search forms the mesh by:
- Generating a set of vectors {di} by multiplying each pattern vector i by a scalar
Δ m. Δ m is called the mesh size.
- Adding the {di} to the current point - the point with the best objective function
value found at the previous step.
c- Polling:
At each step, the algorithm polls the points in the current mesh by computing their
objective function values. When the Complete poll option has the (default) setting Off,
the algorithm stops polling the mesh points as soon as it finds a point whose objective
function value is less than that of the current point. If this occurs, the poll is called
successful and the point it finds becomes the current point at the next iteration. The
algorithm only computes the mesh points and their objective function values up to the
point at which it stops the poll. If the algorithm fails to find a point that improves the
objective function, the poll is called unsuccessful and the current point stays the same at
the next iteration. When the Complete poll option has the setting On, the algorithm
computes the objective function values at all mesh points. The algorithm then compares
the mesh point with the smallest objective function value to the current point. If that mesh
point has a smaller value than the current point, the poll is successful.
d- Expanding and Contracting:
After polling, the algorithm changes the value of the mesh size Δm. The default is to
multiply Δm by 2 after a successful poll, and by 0.5 after an unsuccessful poll.
45
- Aeq: Matrix for linear equality constraints of the form Aeq x = beq.
- beq: Vector for linear equality constraints of the form Aeq x = beq.
- LB: Vector of lower bounds.
- UP: Vector of upper bounds.
- nonclon: Function handle that returns two outputs: [c,ceq] = nonlcon(x)
- options: Structure containing optimization options.
46
The annealing schedule is the rate by which the temperature is decreased as the
algorithm proceeds. The slower the rate of decrease, the better the chances are of finding
an optimum solution, but the longer the run time. You can specify the temperature
schedule as a function handle with the TemperatureFcnoption.
d- Re-annealing
Annealing is the technique of closely controlling the temperature when cooling a
material to ensure that it is brought to an optimum state. Re-annealing raises the
temperature after a certain number of new points have been accepted, and starts the
search again at the higher temperature. Re-annealing avoids getting caught at local
minima. You specify the re-annealing schedule with the ReannealIntervaloption
47
whereas:
- x: the design variables that give the founded optimum.
- fval: the optimum value of the objective function at founded x.
- fun: objective function.
- x0: Initial point of the search.
- lb: Lower bound on x.
- ub: Upper bound on x.
- options: : Structure containing optimization options.
Note that: Simulated annealing can deal with problems those have no constraints except
upper and lower bounds.
48
Genetic programming
Costly or expensive black-box global optimization
Nonlinear complementarity problems
TOMLAB has many solvers in their Base module, and another many solvers as
standalone solvers. The TOMLAB Base Module includes 32 solvers for a wide variety
of problem types, routines for problem setup and analysis, sparse and dense solvers for
global optimization, linear/nonlinear least squares and nonlinear programming are also
included. The optimization solvers in the Base module include general global
optimization solvers, general local optimization solvers, specialized optimization solvers
like: binary, mixed-integer, quadratic…etc.
Here we concern in general global optimization technique, preferring solvers with mixed-
integer capability. The Global optimization techniques in the BASE module are:
a- glbSolve:
Global Optimization algorithm DIRECT by Don Jones et.al. It solves the global bounded
and UNCONSTRAINED optimization problems.
b- glbFast :
Is just a modified glbSolve DIRECT algorithm in faster Fortran version.
c- glcSolve:
It solves CONSTRAINED Mixed-Integer Global Optimization.
d- glcFast:
It is just a modified glcSolve constrained DIRECT algorithm in faster Fortran version.
e- glcCluster:
It is a solvers suite, a combination of solvers. A Hybrid of glcFast / cluster algorithm
/ local solver. Also, there are many standalone optimization algorithms come with
TOMLAB; also called MEX solvers; they are out of the BASE module; they act as
alternatives of the BASE module solvers. These standalone solvers cover a wide range
of problem types; among them there some of global optimization algorithm; those are:
a- glcDirect:
It is similar to glcSolve, programmed to be faster than usual glcSolve.
b- glbDirect:
It is similar to glbSolve, programmed to be faster than usual glbSolve.
c- OQNLP:
49
Solves constrained nonlinear mixed-integer problems. It is Multistart heuristic algorithm
to find global optima of smooth constrained nonlinear programs and mixed-integer
nonlinear programs.
d- GENO:
TOMLAB GENO Multiobjective Genetic Solver; GENO solves general constrained
mixed integer uni- and multi-objective, optimization problems using a genetic algorithm.
50
- sdpAssign Define a semidefinite program
- bmiAssign Define a bilinear semidefinite program
- minlpAssign Define a mixed-integer nonlinear (MINLP) program
- simAssign Both the function and the constraints are computed
- expAssign Define an exponential fitting problem
For our problems which include integer variables, it is convenient to use glcAssign;
which is a direct way of setting up a global mixed-integer programming.
The information is put into the TOMLAB input problem structure Prob.
Prob = glcAssign(...)
It is then possible to solve the glc problem using a TOMLAB glc solver
Syntax of glcAssign:
function Prob =
glcAssign(f, x_L, x_U, Name, A, b_L, b_U, c, c_L, c_U,
x_0, IntVars, VarWeight, fIP, xIP, fLowBnd, ... x_min,
x_max, f_opt, x_opt);
- f Name of objective function f(x)
- x_L Lower bounds on x, finite bounds must be given.
- x_U Upper bounds on x, finite bounds must be given.
- Name The name of the problem (string)
The rest of the input parameters are optional
- A The linear constraint matrix
- b_L The lower bounds for the linear constraints, b_L <= A*x <= b_U.
- b_U The upper bounds for the linear constraints, b_L <= A*x <= b_U.
- c Name of constraint function c(x), computing nonlinear constraints
- c_L Lower bound vector in nonlinear constraints, c_L <= c(x) <= c_U.
- c_U Upper bound vector in nonlinear constraints, c_L <= c(x) <= c_U.
- x_0 Starting point x (may be empty, not used by DIRECT solvers, i.e.
glcFast, glcSolve, glbFast, glbSolve, glcCluster)
- b_L, b_U, c_L, c_U must either be empty or of full length
- IntVars The set of integer variables. Can be given in one of two ways:
1) a vector of indices, e.g. [1 2 5]. If [], no integer variables
2) a 0-1 vector of length <= n=length(x) where nonzero elements
indicate integer variables
51
- x_min Lower bounds on each x-variable, used for plotting
- x_max Upper bounds on each x-variable, used for plotting
- f_opt Optimum function value(s), if known (Stationary points)
- x_opt The x-values corresponding to the given f_opt, if known. If only one
f_opt, give x_opt as a 1 by n vector; If several f_opt values, give x_opt as a
length(f_opt) by n matrix; If adding one extra column n+1 in x_opt, 0 indicates
min, 1 saddle, 2 indicates max. x_opt and f_opt is used in printouts and plots.
4- Results output
Results from TOMLAB optimization solvers is structure; all the information called must
be called through this structure.
e.g.to call the optimum point from Result structure; type : Result.x_k
the calls within the structure are as follows:
- x_k Matrix with optimum points as columns.
- f_k The best function value found so far
- c_k Nonlinear constraints values at x_k
- Iter Number of iterations
- FuncEv Number of function evaluations
- ConstrEv Number of constraint evaluations(=FuncEv if nonlinear constraints)
- maxTri Maximum size of any triangle
- ExitText Text string giving ExitFlag and Inform information
ExitFlag 0 = Normal termination, max number of iterations /func.evals reached
2 = Some upper bounds below lower bounds
7 = Reached maxFunc or maxIter, NOT feasible
8 = Empty domain for integer variables
Inform 1 = Function value f is less than fGoal
2 = Absolute function value f is less than fTol, only if fGoal = 0 or Relative error
in function value f is less than fTol, i.e. abs(f-fGoal)/abs(fGoal) fTol
3 = Maximum number of iterations done
4 = Maximum number of function evaluations done
9 = Max CPU Time reached
91= Infeasible
99= Input error, see ExitFlag
52
Chapter 4:
Design Formulae
53
4. Chapter 4: Design Formulae
4-1 Overview
In this chapter, Transformer Design Problems have been formulated in suitable
models.
These problems are:
A- Finding maximum possible core area using standard Si-Steel sheet sizes.
B- Finding the minimum cost design of transformers with copper foil sheets as
secondary winding and copper flat wires as primary winding (higher ratings,
say 1000 KVA);
C- Finding the minimum cost design of transformers with copper foil sheets as
secondary winding and copper round wires as primary winding (higher
ratings, say 1000 KVA);
D- Finding the minimum cost design of transformers with flat copper wires as
secondary winding and copper round wires as primary winding (lower
ratings, say 100 KVA).
4-2 Problem A
Core diameter is one of the main design variables; it is the circular diameter of the core
cross section; in this cross section the core material (Si-Steel) is stacked in laminations,
giving an effective area less than the circular area, the effective area gained from the
circular area depends mainly on the laminations sizes used. The sizes of strips have
certain commercial values, generally multiplications of 10. The more number of strip
sizes used, the more area could be gained. The number of strip sizes (steps) is limited by
manufacturing and assembly costs. The next figure shows the core cross section, the outer
circle is the core diameter, the effective area is the shaded area. Our problem is to obtain
maximum effective area from a given circle diameter, using specified number of steps,
choosing from a certain set of strip sizes.
55
Core circle diameter
Laminations (strips)
56
1- The objective: maximizing Effective Area
𝐸𝑓𝑓𝑒𝑐𝑡𝑖𝑣𝑒 𝐴𝑟𝑒𝑎 = 4 ∗ 𝐴𝑟𝑒𝑎 𝑜𝑓 𝑟𝑒𝑐𝑡𝑎𝑛𝑔𝑢𝑙𝑎𝑟𝑠 𝑜𝑓 𝑞𝑢𝑎𝑟𝑡𝑒𝑟
= 𝒔𝒕𝒆𝒑𝟏 ∗ 𝒉𝒏𝟏 + 𝒔𝒕𝒆𝒑𝟐 ∗ 𝒉𝒏𝟐 + 𝒔𝒕𝒆𝒑𝟑 ∗ 𝒉𝒏𝟑 + … … 𝒔𝒕𝒆𝒑𝒏 ∗ 𝒉𝒏 Eq. 4-1
R=core cross section radius = core cross section diameter / 2 ;
hn1= ( R2 – (step1)2 )0.5 ;
hn2= ( R2 – (step2)2 )0.5 – (hn1) ;
hn3= ( R2 – (step3)2 )0.5 – (hn1+hn2) ;
hn= ( R2 – (stepn)2 )0.5 – (hn1+hn2+hn3…. hn-1) ; Eq. 4-2
2- Design variables:
step1, step2, step2 … stepn
3- Given quantities:
D = core diameter
n= number of steps
{availables}= available strip sizes
4- The constraints:
n = pre-specifies number
{step1, step2, step3…..stepn} € {availables}
57
4- The constraints:
- Bmin <= B <= Bmax
- Secondary copper current density <= max allowable current density;
- Primary copper current density <= max allowable current density;
- Total Load Losses <= max load losses;
- Core total loss <= max no load loss;
- Z% = demanded Z% ± 2%;
- Integrality of all design variables.
The formula is:
- Input:
Rated_Power_KVA;Frequency_HZ;Line_Voltage_high_tension;
Line_Voltage_low_tension;Connection_high_tension;Connection_low_tension;
max_current_density; Si-Steel properties; available_Si_Steel_sizes;
No_Load_loss_Cost; Load_loss_Cost; Si_Steel_cost; Copper_cost;
LT_No_Turns=any number between 1 to 100;
Core_Diameter=any number between 70 to 300;
Secondary_index=any number between 1 to length of Primary dimensions table;
Primary_index= any number between 1 to length of Secondary dimensions table;
- From Standards lookup for:
max_no_load_loss; max_load_losses, mean_Z%; TR components clearances;
- Calculate: in the following exact order:
1- Line_current_high_tension;Line_current_low_tension;
phase_current_low_tension;phase_Voltage_low_tension;
phase_current_high_tension; phase_Voltage_high_tension;
2- max_B_allowed; Voltage_per_Turn; cross section Area of core; cross
section; B
3- Area of copper conductors; current density of copper conductors;
LT_cooling_canals;LT_mechanical_height;LT_No_layer;
LT_coil_Thickness; LT_outer_diameter; LT_coil_height;
4- HT_No_turns_middle_tap; HT_No_turns_last_tap; HT_mechanical_height;
HT_Turn_per_layer;HT_Turn_per_last_layer;HT_No_layer;
HT_total_insulator_thickness_layers;HT_between_cooling_canals;
HT_coil_Thickness;
5- LT_inner_diameter; HT_inner_diameter; HT_outer_diameter;
58
6- E; H; Core_weight; Core_total_loss;
7- LT_mean_diameter; HT_mean_diameter; LT_total_wire_length_per_phase;
HT_total_wire_length_per_phase_middle_tap;
HT_total_wire_length_per_phase_Last_tap; LT_copper_weight_per_phase;
HT_copper_weight_per_phase_Last_tap;
8- R20 for low tension; R20 for high tension; R75 for low tension; R75 for high
tension; LT_Resistance_losses; HT_Resistance_losses; eddy losses at low
tension coil; eddy losses at high tension coil; LT_connection_losses;
HT_connection_losses; LT_Load_losses; HT_Load_losses; Total copper
losses; Total load losses with included stray losses;
9- Z% method 1; Z% method 2;
10- Total length of high tension coil; total weight of LT copper; total weight of
HT copper; total weight of HT copper; total weight of copper in TR; total TR
losses;
11- Cost of losses; core material Costs; copper material costs; total materials
cost Si-St and copper;
12- TOTAL COSTS (MATERIALS + LOSSES)
4-4 Notes
- As general overview, we see that all these Problems are combinatorial problems.
- Problem A is a simple problem and has small size, it is useful as itself in choosing
strip sizes and obtaining maximum core area; it represents the base of comparison
the several methods of solving small size combinatorial problem.
There are about seven design variables need to be assigned with a value from a
certain set as to gain the objective optimum solution.
- Problem B and C are larger than Problem A, with more constraints. Although
only four/five design variables are in this problems, but they have to be assigned
with values from different set for each variable and they have much more
constraints.
- Problem D is larger than problem B and C, with one additional design variable,
makes the total of design variable is five design variables.
- Problems B, C and D represent the base of comparison the several methods of
solving larger combinatorial problems.
59
Chapter 5:
Methodology
5. Chapter 5: Methodology
Problem A
The problem is to find MAXIMUM possible effective core area using standard
Si-Steel strip sizes. Problem A is described in Chapter 4. By looking in the problem
description, we find the problem is to have suitable values of strip sizes from a certain
set, in order to maximize the effective area of the core section. Modeling of this problem
can vary according to the nature of the variables in the model.
Two ways of represent the strip sizes (variables) are:
- Model 1: Variables are values of the strip sizes.
- Model 2: Variables are the indexes of the strip size in a certain table set.
1- Problem A- Model 1
60
It is a model with the variables represent the values of the strip sizes, makes the
objective a smooth function;
The variables are bounded to be from 50mm to 280mm with step of 10mm , this could
be simplified by dividing by 10, so the variables will be from 5 mm to 28 mm with step
of 1 mm. which is a typical integer programming variable set; the function value is then
adjusted to give the right value. The model needs some constraints to assure integrality
of variables values and to assure avoiding usage of certain unavailable strip sizes. Those
constraints are not smooth functions; in addition, bounds constraints are necessary to the
model. The integrality of the variables could be maintained by constraints or by rounding
off the variables before calculating the function value; this is clearly different from
rounding off the solution (variables in the last stage). Only certain values allowed, so it
has additional discrete constraints; The features of this models are:
- Variables: are 7 integer variables, or any other predefined number, they represent
values of the strip sizes.
- Objective: smooth function of strip sizes.
- Constraints: discrete, non-smooth function (integrality, rejecting certain values,
and bounds).
So, Problem A-model-1 is a constrained mixed-integer global optimization problem.
2- Problem A- Model 2
It is a model with the variables represent the indexes of the strip size in a certain table,
makes the objective non-smooth function. Those indexes have no meaning in themselves
in the function value calculations; they are simply referring to other values in some
certain tables. This model doesn’t need any constraints to assure avoiding usage of
certain unavailable strip sizes; any undesired or unavailable strip size is deleted from the
strip sizes table. Only the values found in the available strip sizes, are considered as
options for solution. The integrality of the variables is maintained in the first stage of
creating variables, by rounding-off the variables before using them in function value
calculations. Only certain values allowed, so it has discrete constraint; also it has bounds
constraints. The features of this models are:
- Variables: Variables: are 7 integer variables, or any other predefined number,
they represent indexes of strip sizes table.
- Objective: non-smooth function of the indexes of strip size at the strip sizes table.
- Constraints: discrete and bounds constraints.
61
So, Problem A-model-2 is a nonlinear Unconstrained mixed-integer global
optimization problem.
Problems B, C and D
The problem is to find minimum Total cost of transformer.
Problems B, C and D are described in Chapter 4.
By looking in the problems description, we find the problem is to have suitable values
of:
- Number of Secondary winding turns; which is integer number between 1 and say
100.
- Core Circular Diameter; which is integer number between 70 and 300.
- Secondary copper index, from table set of Secondary copper availables; which is
integer number between 1 and the length of Secondary copper availables table.
- Primary copper index, from table set of Primary copper availables, which is
integer number between 1 and the length of Primary copper availables table.
- Number of turns per layer at Secondary winding for Problem D; which is integer
number between 1 and Number of Secondary winding turns. In Problem B and
C that is a constant always equals 1.
in order to minimize the transformer total cost. Variables of these problems have different
natures; The variables of (Number of Secondary winding turns), (Core Circular
Diameter), (Number of turns per layer at Secondary) are values used as they are, in the
function value calculations. In the other hand, variables of (Secondary copper index),
(Primary copper index), are just indexes of other values in tables. The Secondary copper
available dimensions and Primary copper available dimensions are values with no
possible relationship or order. So, one model is proposed here as follows:
62
turns),(Core Diameter) and (Number of turn per layer at Secondary winding); and two
variables represent the index of the Primary and Secondary copper in certain tables,
makes the objective non-smooth function. This model doesn’t need any constraints to
assure avoiding usage of certain unavailable Secondary or Primary copper; any undesired
or unavailable conductors are deleted from the certain table. Only the values found in the
available strip sizes, are considered as options for solution. The integrality of the
variables is maintained in the first stage of creating variables, by rounding-off the
variables before using them in function value calculations. Other constraints are bounds,
losses constraints, Z% constraints and B constraints.
The features of this models are:
- Variables: are five integer variables.
- Objective: non-smooth function, because of indexes existence in the function.
- Constraints: discrete, non-smooth, because of indexes existence.
63
By looking in The only solver solves discrete programming problems with nonlinear
objective function and/or constraints using MATLAB optimization toolboxes is the ga
(genetic algorithm). GA can solve problems when certain variables are integer-valued.
Also by suitable constraints, one can use pattern search in discrete optimization In the
raw of (Single global solution) and the column of (non-smooth function and/or
constraints) , we find the suitable algoritms; which are:
- Genetic Algorithm.
- Pattern Search algorithm.
- Simulated Annealing algorithm, works only for Problem A-model-2.
- Combinations of (Genetic algorithm, Pattern Search and Simulated Annealing).
64
5-4 Applicability of methods on Research Problems
The following table shows the applicability of the proposed methods on the
research problems
Table 5-1 (applicability of algorithms)
Problems
Problem Problem
B, C and
A-model-1 A-model-2
D
BRUTE FORCE SEARCH YES YES YES
Fmincon NO NO NO
Linprog NO NO NO
Optimization
Bintprog NO NO NO
MATLAB
Toolbox
Quadprog NO NO NO
Fminsearch NO NO NO
Fminunc NO NO NO
Fseminf NO NO NO
Fminbnd NO NO NO
Global Search NO NO NO
optimization
MATLAB
GLOBAL
Multi-Start Search NO NO NO
toolbox
65
possible designs, Brute Force Search method is used. The Brute Force Method takes time
to execute exponential to the number of the variables, so any reduction in variables
number will lead to great reduction in time needed. So, an improved way is used. To
reduce the size of tested combinations, early checks may be done; these checks (tests)
are done whenever a constraint can be checked for, so the number of combinations those
later combine with other variables is reduced. That is typically as applying the Brute
Force Search in levels, every level contains producing the combinations, testing them
and finally save the successors. These successors are the only ones to be combined later
on with other variables. The flowchart of the improved proposed design algorism is
shown in the the following figure.
The problem of finding all acceptable designs is divided into stages:
i- Stage 1 (includes Problem A)
The first stage is to find all possible core diameter (D), and then finding best
possible area for every diameter.
Possible diameters could be all range of all possible producible diameter, or could
be set by the program user to suitable range depending on the user experience.
The available sizes of Si steel strips are taken from the material book of
SudaTRAF [18].
The sizes of the strips have a multiplication of 10, starting from 50 mm up to 280
mm.
The program lets the user to exclude any steps those are not available at the stock.
It will run later without considering the excluded step sizes.
The best area is found by using MATLAB function of (combnk) which stands for
combinations, this function simply develops all possible combinations, it is used
here to obtain all possible combinations of the strip sizes below the desired
diameter with a given number of the combination size (number of desired steps).
Then Area is calculated for every combination of strip sizes, the best area is stored
for the given diameter, and the next diameter is considered to find its best possible
area.
66
fig 5-1 (flow chart improved design algorithm)
67
ii- Stage 2
Finding the combinations of core diameter (D) and number of turns at the
secondary winding (N), those give an acceptable field intensity (B). Stage 1 and
Stage 2 are shown in following figure.
fig 5-2 (flowchart of algorithm gives combinations with accepted B (stage1, 2))
iii- Stage 3
Third stage is to find conductors for the secondary and primary windings those
have current density below the maximum current density allowed; as shown in
Error! Reference source not found. and Error! Reference source not found.
so in this stage all possible combinations of number of turns and number of turns
per layer are generated. As shown in Error! Reference source not found. The
tested conductors are taken from the material book of SudaTRAF [18].
The program lets the designer to exclude any unavailable conductor, it will run
later without considering the excluded conductor.
68
fig 5-3 (flowchart of algorithm gives all combinations of N and N per layer of
secondary winding (stage 3))
69
fig 5-5 (flowchart of algorithm gives primary winding conductors sizes which
passed the does not exceed the current density limit (stage 3))
vi- Stage 4
The fourth stage is to find all possible combinations of the results of the all
previous stages, then to test those combinations for the constraints of losses and
impedance. This stage is shown in Error! Reference source not found..
iv- Stage 5
The final stage is to output the results, simply it is copied from MATLAB and
pasted in EXCEL sheet, the results are in matrix form, each row is a complete
accepted design, and each column has a name of its variable. The results are then
easily compared or sorted using EXCEL capabilities.
70
fig 5-6 (flowchart of algorithm gives all possible acceptable design (stage4))
71
5-7 Pattern Search Algorithm
It is preferred to use Pattern Search than using Genetic Algorithm. [16]. Pattern
search has no integer programming capabilities, however, integer programming
problems could be solved by using suitable modeling of objective function and/or
constraints. For example: rounding off the design variables, in the input stage, not output
stage; another way is setting constraints that grantee the integer values of variables, e.g.
the remainder of the (variable/1) must equal to zero; this would reject any non-integer
value of the variable. PS needs a starting point; this need limits the use of PS to be as
perfection algorithm. The starting point must be a valid point; that means the starting
point should succeed all constraints to be accepted as starting point. There is no way to
prove that the solution found by any of its toolboxes is optimum, [16],the more adequate
modelling, selecting solvers and setting solver options, the more accurate results would
be obtained.
So, all our problems could be solved by PS.
72
from the initial solver, is imported by Pattern Search algorithm (PS), which here
considers the constraints, to hopefully give the global constrained function value. So, we
have three combinations:
- PS- PS
- GA- PS
- SA- PS
For further improvement of the solution if the two stages combinations could not obtain
the optimum solution; a third stage could be produced; in the sequence of: GA-SA-PS;
GA will try to obtain the optimum solution, its results imported to SA for improved
solution, the results of SA is used by PS as starting point.
73
Chapter 6:
Methods Implementation;
Results and Discussion
6. Chapter 6: Methods Implementation; Results and
Discussion
6-1 Problem A
The method which give the optimum solution in less time, will be best of methods.
The comparison between methods is done based on the two possible conditions;
according to the availability of the strip sizes.
- State 1 is when all of the strip sizes are available.
- State 2 is when some pre-specified strip sizes are not available.
The comparison between numerical methods will based also on the model of problem, in
the other hand Brute force search method works in different way, it actually tries every
option, and so different models for the same problems are seen similar by our algorithm.
The input data for all algorithms is:
- Core diameter = 300;
- Number of strip sizes allowed to use = 7;
- Complete set of strip sizes=50 up to 280; with step of 10 mm.
- STATE 1: all strip sizes are available;
- STATE 2: not available strip sizes = 200, 230;
Note:
- These strips specified (200 and 230) are chosen because they will appear in the
optimum solution for the full set available (STATE 1).
74
These information above are very useful for the transformer designer.
- Example of program output:
best_Area_found =
-65653.91
percentage_from_circular_area =
-0.93
Elapsed time is 1.850926 seconds.
design =
Columns 1 through 4
280.00 53.85 199.00 107.70
260.00 20.98 78.00 41.96
240.00 15.17 56.00 30.33
210.00 17.12 63.00 34.24
170.00 16.47 61.00 32.94
130.00 11.59 43.00 23.19
80.00 9.38 35.00 18.77
Column 5
398.00
156.00
112.00
126.00
122.00
86.00
70.00
75
0.93
Elapsed time is 1.837256 seconds.
design =
Columns 1 through 4
280.00 53.85 199.00 107.70
260.00 20.98 78.00 41.96
230.00 21.47 80.00 42.95
200.00 15.50 57.00 30.99
160.00 15.08 56.00 30.16
120.00 10.59 39.00 21.18
70.00 8.38 31.00 16.76
Column 5
398.00
156.00
160.00
114.00
112.00
78.00
62.00
76
Notes
- The results of Brute Force Search are the optimum for sure.
- The other methods those will be compared to this method are competing in time
consumed.
- In STATE 1: There are 346104 (= 24C7) possible combinations, the program
tries each of them, the maximum area max area combination is saved, this takes
time of 1.8 sec.
- In STATE 2: There are only 170544 (= 22C7) possible combinations, the
program tries each of them, the maximum area max area combination is saved,
this takes time of only 0.7 sec. So, by only ignoring 2 strip sizes (2 options), the
time is halved. Trying to illustrate this effect of options space on the Brute Force
Search time, suppose we want to optimize the area of the core with 150 mm
Diameter, the options of the design here are: [150 140 130 120 110 100 90 80 70
60 50]; which are 11 options only; the number of desired steps remain 7 steps,
the number of all combinations of 7 steps from our option space is (11C7) which
equals: 330.
- Running the program with this input: D= 150, steps = 7, Results of time consumed
= 0. 002144 sec.
- It is an important to note that by halving the diameter, the time is almost vanished.
- The Brute Force Search method takes time exponential to space of available
values for each variables (D and available strip sizes).
- So, to obtain a time representing this method; an average has been calculated, by
averaging of time for all possible diameters (70 up to 300mm), at n=7; and full
set of strip sizes.
- A program has been developed (Appendix A-1-2)
(Brute_F_S_core_area_plot_average.m) to plot the relationship between( time
consumed) and (core diameter), the program also calculate the average time, the
results are as:
average_time = 0.25 seconds
77
fig 6-1 (Core Dia. vs. Time)
B- Problem A-model-1
Recall that Problem A-model-1 is a nonlinear mixed-integer problem; with a smooth
objective function and non-smooth constraints of neglecting some pre-specified strip
sizes, and constraints of integrality.
Each state has a meaning, they are:
- State 1 is when all of the strip sizes are available, here, no constraints of rejecting
some strip sizes; so, the only constraints here are bounds and integrality.
- State 2 is when some pre-specified strip sizes are not available, here there are
constraints of rejecting these strip sizes in addition to bounds and integrality.
Following are the Results of implementing proposed methods to Problem A-model-1 :
78
Notes :
- In STATE 1: the optimum is found every run of the program, this happens
because the objective is a smooth function, the optimum could be found by
grantee using the genetic optimization algorithm.
- In STATE 2 : Each run gives a different solution, because of the difficulties in
dealing with non-smooth constraints; the algorithm gives an approximate solution
every run.
- The time consumed is almost the same for the both states.
- The most useful feature of GA in our problem, is the integrality constraint that is
offered in the MATLAB Genetic Algorithm options.
2- Pattern Search method
Table 6-3 (Problem A-model-1 Results using PS)
STATE 1 STATE 2
Problem A-model-1 (PS)
With all sizes available With 2 sizes not available
Optimum obtained in every run NO NO
Time consumed (sec) 1.0 1.3
Notes:
- This method needs a starting point.
- Each run gives the same solution, for the same starting point.
- Once starting point is changed, the solution could change.
79
Notes:
- In STATE 1: any start point will lead to the global optimum solution.
- The integrality of the variables are obtained by rounding-off the variables in the
objective function.
- Time consumed is 4 seconds.
- SA method cannot handle any constraints except bounds, so it is not applicable
for STATE 2.
- In practice, there frequently unavailable step sizes, so this method is not suitable
for actual situations when using this model.
Notes:
- In STATE 1: there is no need to run combined method for state 1; because GA
lonely will give the optimum point; so using the combined method will consume
time without additional benefits.
- As mentioned earlier in this chapter, GA, for this problem model will give the
optimum solution in every run, if there is no constraints other than integrality and
bounds.
- The unconstrained global optimum point is a perfect starting point for PS.
- PS gives the optimum in every run with global unconstrained point as the starting
point.
80
5- Combined SA-PS method
Table 6-6 (Problem A-model-1 Results using SA-PS)
Problem A-model-1 STATE 1 STATE 2
(combined SA-PS) With all sizes available With 2 sizes not available
Optimum obtained in every run YES-NO Need YES
Time consumed (sec) 5.8 3.8
Main program APPENDIX A-1-11 (core_area_SA_PS.m)
Used
Files
Notes:
- In STATE 1: there is no need to run combined method for state 1; because SA
lonely will give the optimum point; so using the combined method will consume
time without additional benefits.
- As mentioned earlier in this chapter, SA, for this problem model will give the
optimum solution in every run.
- The unconstrained global optimum point is a perfect starting point for PS.
- PS gives the optimum in every run with global unconstrained point as the starting
point.
6- Combined PS-PS method
Table 6-7 (Problem A-model-1 Results using PS-PS)
Problem A-model-1 STATE 1 STATE 2
(combined PS-PS) With all sizes available With 2 sizes not available
Optimum obtained in every run YES YES
Time consumed (sec) 1.8 1.6
Main program APPENDIX A-1-9 (core_area_PS_PS.m)
Used
Files
Notes:
- The first stage of the PS will give a different result for different starting point,
this result by PS are found good enough as starting point for another run to give
optimum solution.
81
7- TOMLAB (glcFast) optimization toolbox method
Table 6-8 (Problem A-model-1 Results using TOMLAB glcFast)
Problem A-model-1 STATE 1 STATE 2
(TOMLAB/Base/glcFast) With all sizes available With 2 sizes not available
Optimum obtained in every run YES YES
Time consumed (sec) 0.9 2.6
Main program Appendix A-1-13 (TOMLAB_core_dia.m)
Used
Files
Notes:
- Objective function and constraints files are the same files used in MATLAB GA
optimization.
- The solver type is set at the main program to glcFast
Notes:
- Objective function and constraints files are the same files used in MATLAB GA
optimization.
- The solver type is set at the main program to OQNLP.
82
Notes:
- Objective function and constraints files are the same files used in MATLAB GA
optimization.
- The solver type is set at the main program to GENO.
- Global optimum solution is not granted when using constraints other than bounds
and integrality constraints.
- This is similar to GA programmed by MATLAB, in gaining an optimum for
unconstrained; and failed when constraints are there.
83
Table 6-11 (Comparison of methods for Problem A-model-1)
Optimum Optimum
for full Time for NOT
Method Time(sec) Comment
set of (sec) full set of
strip sizes strip sizes
GA Yes 0.7 NO 0.6
PS NO 1.0 NO 1.3
SA YES 4 NO -
GA-PS YES 1.6 YES 1.7
PS-PS YES 1.8 YES 1.6
SA-PS YES 5.8 YES 3.8 Slowest
TOMLAB/BASE/glcFast YES 0.9 YES 1.6 Fastest
TOMLAB/ OQNLP YES 1.8 YES 4.8
TOMLAB/ GENO YES 297 NO 608
C- Problem A-model-2
Recall that Problem A-model-2 is a nonlinear mixed-integer problem; with a non-smooth
objective function, variables are indexes of a certain table contains just the available strip
sizes; with only demand of integrality.
Each state has a meaning, they are:
- State 1 is when all of the strip sizes are available, here the table is full.
- State 2 is when some pre-specified strip sizes are not available, here, some table
elements are omitted.
Following are the Results of implementing proposed methods to Problem A-model-2:
84
Notes :
- Although there are no constraints in this model of Problem A, but GA gives a
different solution every run.
- This happens due to the nature of the variables, they have no meaningful values
they are just indexes to a certain table.
Notes:
- Each run gives different solution, for the same starting point.
85
Unlike model-1, the initial solvers (GA, PS or SA) will not give an initial global
unconstrained solution; because the function value is no more a smooth function; it
is a function of indexes, it is so non-smooth.
A proposed solution is to make a further stage; initiate a solution with GA; improving
it with SA; and the added stage is to perfecting it using PS; so it would be as GA-SA-
PS.
86
7- Combined GA-SA-PS algorithms method
Table 6-18 (Problem A-model-2 Results using combined GS-SA-PS)
(GA_SA_PS_tables_method.m)
Objective function Appendix A-1-14 (obj_table.m);
STATE 1 STATE 2
Problem A-model-2 (glcFast)
With all sizes available With 2 sizes not available
Optimum obtained in every run YES YES
Time consumed (sec) 3.8 4.8
Main program Appendix A-1-18 (tables_TOMLAB.m)
Used
Files
Notes :
- Main program must be set to the glcFast solver.
- Each run gives the optimum solution.
Notes :
- Main program must be set to the OQNLP solver.
- Each run gives the optimum solution.
87
10- TOMLAB (GENO) optimization toolbox method
Table 6-21 (Problem A-model-2 Results using TOMLAB/ GENO)
STATE 1 STATE 2
Problem A-model-2 (GENO)
With all sizes available With 2 sizes not available
Optimum obtained in every run YES YES
Time consumed (sec) 342 336
Main program Appendix A-1-18 (tables_TOMLAB.m)
Used
Files
Notes:
- Main program must be set to the GENO solver.
- Each run gives the optimum solution.
- Much time is consumed using this method.
88
- Combination of MATLAB solvers for three stages seen to be effective in
obtaining the solution every run
- It is clear that Brute force method obtains the optimum solution in a competitive
timing; in addition to the fact that 1.8 sec of Brute Force Search is the maximum
time consuming by this method; when using less options of strip sizes and/or
solving for smaller dimensions the time is extremely reduced. As stated before, it
has an average among all possible diameter with strip sizes all available of 0.25
sec only.
- Genetic algorithm is not recommended, MATLAB GA did not obtain the
optimum, and TOMLAB GENO takes much time to find the optimum.
- TOMLAB glcFast and TOMLAB OQNLP seem to be suitable for the two
models.
- For this problem, MATLAB solvers combination is a good method of
optimization; GA-PS and PS-PS combinations are as fast as TOMLAB glcFast
solver.
- In model-1; TOMLAB glcFast is the fastest method.
- In model-2; TOMLAB OQNLP is the fastest method.
89
- Model-1 seems to be faster to solve with best timing of 1.6 sec.; than model-2
which it’s best timing is 2.2 sec.
- All these methods are claimed to be faster than manually searching for the
optimum; which may take much time with no prove of the optimumity.
6-2 Problem D
Method which give the optimum solution in less time, will be best of methods.
The comparison between methods is done based on the following inputs:
- Rated Power= 100 KVA;
- Primary Line Voltage= 11 KV;
- Secondary Line Voltage= 433 V;
- Primary 3-phase connection type= star;
- Secondary 3-phase connection type= delta;
- Number of secondary winding turns=1 UPTO 100.
- Diameter of the Core= 70 UPTO 300 mm.
- Available flat wires to be used:
cross section dimensions:
length width
5 2
6 2.6
8.2 2.5
5.25 4
10.5 2.6
8.2 4.6
8.4 4.6
16.4 5
14.5 6
18.8 5.4;
90
2.4 2.518
2.5 2.631
2.65 2.7613
2.8 2.9015
2.9 3.026
3.15 3.294
3.55 3.6575
3.75 3.861
4 4.111
- Frequency= 50 Hz.
- Allowable losses are as per Sudanese specifications [3];
- Complete set of Si_Steel strip sizes=50 up to 280 with a fixed step of 10 mm;
- Number of steps used in Core=7;
The overhead time of optimizing the area of the stepped core cross section
(Problem A) which is about 1 minutes, is excluded from the total time.
The output of each program will contain:
- The Total cost obtained.
- Time consumed to obtain the solution.
- Design variables values applied to obtain the Total cost:
1- Number of Secondary winding turns.
2- Diameter of Core.
3- Flat wire used.
4- Round wire used.
5- Turns per layer at Secondary winding.
91
13- lt canals,
14- LT mech. Height,
15- LT No. of layers,
16- LT coil thickness,
17- LT outer dia,
18- coil height,
19- Ht mech height,
20- N_ht max,
21- ht copper order, Design Variable
22- ht active dia,
23- ht total dia,
24- ht cross area,
25- current density round, Constrained value
26- ht turn/layer,
27- ht turn/last layer,
28- HT no of layers,
29- insulation between layers,
30- ht layer/canel,
31- ht canals,
32- Ht coil thickness,
33- Lt inner dia,
34- Ht inner dia,
35- Ht outer dia,
36- E,
37- H,
38- core weight,
39- core loss/kg,
40- Core total loss, Constrained value
41- H A/m,
42- Lt mean Dia,
43- Ht mean Dia,
44- Lt total length,
45- Ht total length of mid tap,
46- Lt copper weight per phase,
47- Ht copper weight per phase,
48- Lt R20,
49- Ht R20,
50- Lt R75,
51- Ht R75,
52- Lt copper loss,
53- Ht copper loss,
54- Lt eddy loss,
55- Ht eddy loss,
56- Lt con. Loss,
57- Ht con. Loss,
58- Ht load loss,
59- Lt load loss,
60- copper total losses, Constrained value
92
61- total load losses with strays, Constrained value
62- Reactance of Lt
63- Z1% Constrained value
64- Z2% Constrained value
65- total TR losses Constrained value
66- Cost of losses
67- core material Costs
68- copper costs
69- total materials cost
70- TOTAL COSTS (materials + losses) Objective
71- Total length of ht coil copper
72- total weight of Lt copper in 3 phases
73- total weight of Ht copper in 3 phases
74- Total weight of copper in TR
Note:
- The objective could be minimizing or maximizing any characteristic, i.e. losses,
weight, cost of losses; here we used Total cost.
- All these characteristics are important to the Transformer designer.
Round
index
index
N_lt
Flat
LT
Design variables
48 145 10 7 12
Time consumed (sec) 25
Appendix A-2-1
Main program
(Brute_Force_TR_design.m);
Stage 1 and 2 Appendix A-2-2 (Design.m)
Files Used
93
Notes
- The ultimate fact that Brute force Program grantees obtaining the optimum
design.
- Brute force produces not only the optimum design, but also ALL possible
designs, it creates a full library of valid designs; these designs could be saved as
excel file data sheet; further no need to run the program to examine designs for
another objectives; simple sort the table in the excel software according to any
column (objective); that is actually done in no time.
- Results of running this program for this problem returns 1033 valid solutions,
with a value of the objective (total cost) between 10970.90(optimum) and
13271.64; all of them are satisfying all constraints.
- User have to re-run the program again if he changed one or more of the basic
inputs; i.e. Rated Power, frequency, available Si_Steel strip sizes, number of steps
to be used in core …. etc. ; in other words (for each different TR design)
- Changing Z% tolerance and calculation method is frequently demanded, so a
program of changing Z% is written; it is a quick program to recalculate the
designs without repeating the whole program; it is found at
- It is highly recommended to NOT exclude any of wires indexes when asked for;
if there certain wire/s are not available or not desired, simply use the Filter tool
in the excel software and then resort to have the minimum objective without
considering the neglected wire/s. This practice maximize the benefits from the
Brute force results.
- It is also true that if some wires are excluded, less time will consumed.
- Transformer expert designer will run the program in nearly no time, because
he/she would reduces the range of examined core diameter and number of
Secondary winding turns. This will efficiently reduce the time.
B- Other methods
General Notes
- To exclude stage 1 time overhead; a table contains the optimum area of core for
full range of diameter from 70 upto 300, and for n= number of steps = 5,6,7,8,9,10
; is created using Appendix A-2-9 (A_factor.m); here a full set of Si_steel is used
94
according to the problem at hand. Area_full_set table is produced and used in the
optimization. Another run of program must be done for different sets.
- All the numeric methods use the same function files of objective and constraints;
which are: Objection function file : Appendix A-2-10 (designee_flat_round.m)
which uses: Appendix A-2-11 (formulate_tr_design_flat_round.m); and
Constraints function file: Appendix A-2-12 (conns_flat_round.m).
Results
Table 6-26 (Results summary of numeric methods for Problem D)
Optimum
Time
obtained
Method consumed Main program
in every
(sec)
run
GA NO 20 Appendix A-2-13 (GA_TR_Design.m)
PS NO 2 Appendix A-2-15 (PS_TR_Design.m)
Not
SA --- -----
applicable
Appendix A-2-14
GA-PS NO 20
(GA_PS_TR_Design.m)
Appendix A-2-16
TOMLAB/glcFast NO 104
(TOMLAB_TR_Design.m)
Appendix A-2-16
TOMLAB/OQNLP NO 171
(TOMLAB_TR_Design.m)
2 Appendix A-2-16
TOMLAB/GENO NO
HOURS (TOMLAB_TR_Design.m)
TOMLAB/glcFast Appendix A-2-17
NO 106
– PS (TOMLAB_glc_Fast_PS_TR_Design.m)
Notes:
- Brute Force is the only method that grantees the optimum solution every run.
- All other solvers consume time without grantee optimum solution.
- This because the nature of the problem; it is a very nonlinear with random lookup
variables; the best solvers with best setting cannot ever grantee the optimum.
- GA method gives different solution every run, it might also give no solution with
a message of (NO FEASIBLE SOLUTION FOUND).
- PS algorithm asks for a valid starting point to run; a valid point has to be known
to use PS.
95
- SA method cannot be applied to this problem because of the existence of the
constraints.
- Combined GA-PS method gives better solutions than single GA method. The
solution of GA is imported by PS solver to be further improved. This method
gives different solution every run, because the GA gives different solutions every
run, and PS gives different solution for different starting points. So this method
is applied several times and lastly the best of these solution is selected; which has
no approve of being optimum. The best value obtained with this method after 100
applications, was (11326.3252) which is far from the optimum (10970.9059). It
was annoying to see the program returns (NO FEASIBLE SOLUTION FOUND)
for many times during the 100 applications.
- TOMLAB solvers, at this problems, are time consumers.
- TOMLAB/glcFast obtains the same solution every run, but the obtained solution
is not optimum; it obtain a best value of (11298.3275); this value is better than
applying any MATLAB global optimization toolbox solvers.
- TOMLAB/glcFast and PS are combined to try obtaining better solution of the
problem. A solution of (11296.2675) is obtained every run; which is also not
optimum solution.
- TOMLAB/oqnlp gives the solution of TOMLAB/glcFast solver, but in more
time.
- TOMLAB/GENO runs for about two hours with different solution every run.
- The main difficulties in this problem are the random lookup variables; (indexes);
and the use of (rounding off) functions serial times in the program; i.e. (ceil; floor;
round). This rounding is essential to the calculations.
- Problem D represent Problems B and C, because it is more general than them;
Applying the same methods to Problems B and C will always be faster and less
in errors, because lesser variables are considered.
96
- It is so clear that when the problem is very nonlinear with random lookup
variables, as Problem D, the only method grantees the optimum is Brute Force
Search Method.
- For the small size of the problem, Brute force Search Method consumes time less
than numeric method do.
- So, Brute Force Search Method grantees optimum, with best timing, this makes
it the best method used for this problem.
97
6-4 Manually search approach design
A design made by manually searching for design variables those make the design
acceptable, this is the currently applied method in practicing transformer design in
Sudan; the design is presented as follows:
- Power = 100KVA, high tension = 100KV, low tension= 433V, frequency =
50Hz,….
- design variables:
1- Number of Secondary winding = 39
2- Core diameter=165
3- flat wire index = 10
4- round wire index = 4
5- Turn/layer at secondary winding = 9
1- Problem A
For the core diameter of 165 mm the area obtained by manually search for best steps
set, the result of manually search is as follows:
- core Area = 19736 mm2 with 7 steps of 160 140 120 100 80 70 50;
Using the program of Brute Force Search at Appendix A-1-1 (Brute_F_S_core_area.m);
with D=165,n= 7, and no unavailable strip sizes, the results are:
core Area = 19918 mm2 with 7 steps of 160 150 140 120 100 80 50
Notes
- It is so predictable that searching manually for the best optimum set of steps is
really hard mission.
- The manually found area is less than the best possible area of core, which will
impact the rest of the design.
- All applicable optimization methods proposed are better in design obtained and
time consumed than the manually search method.
- Time consumed in manually search is not deterministic, it may take minutes to
obtain acceptable area, also it may take an hour to do so.
- Time consumed in Brute Force Searching is 0.071 sec.
- There is no doubt in the efficiency and applicability of Brute force search in this
problem, instead of manually search.
98
2- Problem D
The output design constraints values are:
Load losses = 1479.169636762787
No_load losses = 290.5144851922480
Z% 1 = 3.454604508087200
Z% 2 = 3.696477682796703
B = 1.52
The material and losses costs:
Core weight =318.156 KG
Core cost = 2386.170
Copper weight = 99.5 KG
Copper cost = 1442.612
Load losses cost = 5916.68
No_load losses cost = 3195.66
Total TR costs = 12941.1192
Notes
- The design is well suited in the acceptable region; It is an acceptable design; Load
losses = 1480 which is < 1650 of standards;
No_load losses= 290 = 290 of standards;
Z1% and Z2% are in the range of ±10% of 4% of standards;
B = 1.52 is in the range of 1.5 to 1.73 of material properties acceptable range.
- All applicable optimization methods proposed are better in design obtained and
time consumed than the manually search method.
- Total transformer cost = 12940 which is more than 10970 that can achieved when
using Brute Force Search instead of manually search; about 2000 RS which is
about 3000 GS, could be saved in every transformer.
- Even more saving when running the Brute Force Search with the loose range of
acceptable z1% and z2%.
- Time consumed in manually search for an acceptable solution is hours as
minimum, days for normal designs.
- It is clear that this method should be replaced by other quicker and more accurate
method, which is Brute Force Search method, as recommendation.
99
6-5 Additional improvements of the created application
Further; since accepting the fact of the feasibility of using Brute Force Search
Method in transformer design; it is feasible to make additional efforts for improvement
of the program. Instead of using MATLAB command line to deal with the program inputs
and outputs, a graphical user interface (GUI) is created, to facilitate the communication
with the program. GUI is easier to deal with, especially for those who are not familiar
with MATLAB interface. A GUI created for each of Problem-A and Problems (B, C and
D). GUI needs the command of (guide) to run; for a non-MATLAB user this could be a
problem to know that; so the programs have been made as executable file (.exe), using
MATLAB Compiler. This makes the GUI files to be (.exe) files, and run by just clicking
on them, no need for starting the MATLAB program and no need to set the path directory,
or any settings. Another improvement is the automatic creating and saving of the output
excel file, which contains the results. The created Excel should have a predefined
template. The templates are created, to be used they have to be in the same directory with
the programs. The programs lets the user to select the location of saving the results excel.
Below is the GUI created for Problem-A, with the default values for the fields and no
results.
100
From the above figure of the GUI for Problem-A, user has to:
1- Uncheck the not-available strip sizes from the list of available strip sizes.
2- Set the Core diameter, thickness of strips and allowed number of steps.
3- Decide if he/she want to make an excel copy of the results.
By pressing on GO! Button, the below window appears.
The results which are shown are: maximum area obtainable, percentage from
circular cross section area, time consumed and the table of step sizes, quantities and
heights. In Addition, an EXCEL file could create in a user defined location, containing
the same results for the saving and archiving purposes. The next figure shows GUI which
created to solve Problem B , C and D.
101
fig 6-4 (GUI-Problems B, C and D)
The above figure shows the window of the GUI for problems B, C and D. The
only shown result is the time consumed; the remaining results are generated and saved
in an Excel file that is due to the huge amount of the results. The window opens with
common default data, to help reducing filling time. The tables show the copper
conductors to be considered; these tables are editable.
User has to :
102
- (Problem B and C) which are designs with copper foil at secondary
windings.
- (Problem D) which is design with copper flats at secondary winding.
The only field needs to be filled is the Power field. Although other fields have default
values; they are editable by the user. Once Power value is entered, blank fields are filled
automatically by the program with relevant data, the values of these fields are also
editable. The next figure shows the program window immediately after entering the
Power value.
103
Chapter 7:
Conclusion and Future
Work
7. Chapter 7: Conclusion and Future Work
7-1 Conclusion
According to the results obtained from this thesis, the following can be concluded.
Formulation two main problems in design of oil-immersed distribution
transformer has been programmed. A computer based design programs were
successfully developed. The designs formulation taken from practical design
practice in the field of transformer design and manufacturing.
Several algorithms have been implemented and applied to the two transformer
design problems.
The results obtained by using Brute Force Search Method algorithm were
encouraging when compared to all other optimization methods.
A comparison of results obtained by using the several optimization techniques
and an already applied distribution transformer design has been made; as
predicted, optimization methods provide better solutions.
The achievement of thesis objectives, is the effectiveness, success and suitability
of using Brute Force Search method, which is rarely recommended in the
literature on optimization. Using Brute Force technique in transformer area, with
no doubt, is of a high value added from the point of view of saving money, effort
and time.
Finally; Developing improved program of Brute Force Search method, using the
graphical user interface capabilities in MATLAB; which facilitate the using of
the program.
109
References
[1] W. M. Flanagan, Handbook of transformer design and applications, Second Edition ed., McGraw-
Hill, 1992.
[5] M. J. Heathcot, The J and P Transformer, Thirteenth ed., Elsevier Ltd, 2007.
[6] B. P. P. F. D. S. R. A. R.M. Del Vecchio, Transformer Design Principles with application to Core-
Form Power Transformers, New York: Taylor and Francis Group, 2002.
[8] S. V. K. a. S. A. Khaparde, Transformer Engineering: Design and Practice, New York: Taylor and
Francis Group, 2004.
[9] P. S. G. Eleftherios I. Amoiralis, Methodology for the Optimum Design of Power Transformers
Using Minimum Number of Input Parameters.
[13] A. Levitin, Introduction to the Design and Analysis of Algorithms, 2nd ed., Addison Wesley ,
2007.
[15] "what dose brute search excatly mean," STANDS4 LLC, [Online]. Available:
http://www.definitions.net/definition/brute+force.
[16] I. The MathWorks, Global Optimization toolbox User's Guide, The MathWorks, Inc., 2010.
110
[21] T. Inc., "TOMWIKI," TOMLAB Inc., [Online]. Available: http://tomwiki.com/GENO.
111