Алгоритм метода гомори реферат

Обновлено: 19.05.2024

Актуальность темы исследования. Алгоритм Гомори — алгоритм, который используется для решения полностью целочисленных задач линейного программирования. Алгоритм включает в себя:

Решение задачи одним из методов группы симплекс-методов или группы методов внутренней точки без учёта требования цело численности.

Если полученное оптимальное решение целочисленно, то задача решена.

Для решения целочисленных задач был разработан специальный метод под названием Метод Гомори. На самом деле, метод Гомори это всего лишь "надстройка" над обычным симплекс-методом, который мы изучили в прошлых главах. Идея метода Гомори заключается в том, что можно решить задачу обычным симплекс-методом, получив (возможно) нецелочисленное решение, а потом для каждой нецелочисленной переменной добавить "поправочное" ограничение, которое во-первых, сделает эту переменную целочисленной, а во-вторых, минимальным образом повлияет на значение целевой функции.

Целочисленное линейное программирование ориентировано на решение задач линейного программирования, в которых все или некоторые переменные принимают целочисленные значения. Для решения целочисленной задачи линейного программирования Р. Гомори предложил метод отсечения плоскостей в 1958 г. Алгоритм Гомори содержит этапы:

Этап 1. Решение непрерывной задачи. Если решение дробное переход на 2 этап.

Этап 2. Решение расширенной задачи. Разработаем целочисленную математическую модель информационной системы и определим оптимальное решение методом Гомори. Математическая модель формулируется следующим образом: из числа фирм, предоставляющих услуги спутникового Internet на территории Российской Федерации, требуется выбрать провайдера спутникового Internet с максимальной величиной чистого приведенного эффекта (NPV) и удовлетворяющих финансовым ограничениям.

Целью реферата является исследование метода Гомори.

1. Рассмотреть экономическую и геометрическую интерпретацию задачи целочисленного программирования.

2. Изучить первый алгоритм Гомори решения полностью целочисленных задач.

1. Горбунов, В.К. Математические модели рационального потребления: Учебное пособие/ Ульян. гос. ун-т. Каф. прикладной математики. -Ульяновск: УГУ, 201200. - 71с.

2. Губин Н. М. и др. Экономико-математические методы и модели в планировании и управлении в отрасли связи: Учебник/Губин Н. М., Добронравов А. С., ,Дорохов Б. С. - М.: Радио и связь, 2013. - 377с.

3. Замков О. О. , Толстопятенко А. В. , Черемных Ю. Н., Сидорович А. В. Математические методы в экономике: Учебник / О. О. Замков, А. В. Толстопятенко, Ю. Н. Черемных и др.; Под общ. ред А. В. Сидоровича . -М.: Дело и Сервис, 2012. - 367с - (Учебники МГУ им. М. В. Ломоносова).

4. Петров А. М. Математические методы анализа экономики: Учебно-методическое пособие/ Ульян. гос. ун-т, Эконом. фак., Каф. Управления. -Ульяновск: УГУ, 2012. – 10 с.

5. Шелобаев С.И. Математические методы и модели в экономике, финансах, бизнесе: Учебное пособие . - М.: ЮНИТИ, 2013. - 367с.

6. Экономико-математические методы и прикладные модели: Учебное. пособие/ В. В. Федосеев, А. Н. Гармаш, и др; Под ред В. В. Федосеева. – М.: ЮНИТИ, 2012. – 391 с

Эта работа не подходит?

Если данная работа вам не подошла, вы можете заказать помощь у наших экспертов.
Оформите заказ и узнайте стоимость помощи по вашей работе в ближайшее время! Это бесплатно!

Большой класс прикладных задач оптимизации сводится к задачам целочисленного линейного программирования. Для решения этих задач широко применяются методы отсечения, предназначенные для решения общей целочисленной задачи, сопоставляя ей некоторую нецелочисленную задачу, по решению которой и позволяет найти решение.

Первый методов решения целочисленной задачи линейного программирования отсечением был предложен Гомори и получил название алгоритма Гомори.

1. Постановка задачи

Метод Гомори предназначен для решения целочисленных задач линейного программирования. При рассмотрении метода Гомори будем решать данную задачу в канонической форме.

1.1 Каноническая форма

Будем рассматривать каноническую задачу целочисленного программирования с n переменными и m условиями, дополненную условием целочисленности:

Где c = (c1, c2, … , cn), x = (x1, x2, … , xn) - вектора размерности n, - их скалярное произведение (), называемое так же целевой функцией, A - матрица размерности n ´ m, b - вектор-столбец размерности m.

Условие целочисленности существенно осложняет задачу линейного программирования (1.1), (1.2). Так может случиться, что задача (1.1)-(1.3) обладает допустимыми (целочисленными) планами, целевая функция ограничена на допустимом множестве, однако ее максимум не достигается. Например в задаче:

не существует целочисленных решений, в то время как без этого условия решением служит любой вектор вида

В связи со сказанным, при обосновании численных алгоритмов решения задач типа (1.1)-(1.3) приходится накладывать различные дополнительные условия.. Будем считать, что множество X планов задачи (1.1), (1.2) (без условия целочисленности) ограничено, то есть является многогранником.

Из этого условия вытекает, что множество X* всех целочисленных планов задачи (1.1)-(1.3) конечно.. Будем предполагать, что все коэффициенты cj, j=1, 2, …, n, целевые функции - целые числа.

Из условия II вытекает, что для всякого целочисленного плана xÎX* значение максимизируемой линейной формы - целое число. В этом случае говорят, что гарантирована целочисленность целевой функции.

Хотя условия I и II на задачу (1.1) - (1.3) довольно жесткие, ослабить их, для получения необходимых результатов, можно лишь немного.

1.2 Приведение к канонической форме

Задача целочисленного линейного программирования может формулироваться несколько иначе, нежели это было приведено выше. Так, например, вместо условия (1.2) может иметь место другая форма записи ограничений

От подобной записи к (1.2) можно перейти, прибавив к каждому уравнению по одной новой переменной, тогда ограничения примут вид

Добавленные переменные будут иметь нулевой вес в целевой функции.

Отметим, что для получения, в зависимости от вида неравенства, следует не только прибавлять, но и вычитать переменную в зависимости от знака неравенства, учитывая условие (1.3).

Если в исходной задаче не для некоторой переменной xi не выполнено условие положительности, то ее следует заменить на разность двух новых, положительных, переменных.

2. Общие идеи методов отсечения

Существует принципиальная возможность свести решение задачи (1.1) - (1.3) к нахождению оптимального плана некоторой задачи линейного программирования (без условия целочисленности переменных). Пусть X - многогранное множество, определяемое условиями (1.1), (1.2). Через X* обозначим множество всех целочисленных векторов x*, лежащих в X. Другими словами X* задается условиями (1.1)-(1.3), т.е.

По определению X*Í X. Будем обозначать через Xz выпуклую оболочку множества X*. Тогда XzÍ X.

Таким образом, мы сопоставили многогранному множеству X некоторое выпуклое множество XzÍX согласно следующему правилу: Xz есть минимальное выпуклое множество, содержащие все целочисленные векторы из X.

По предположению I, X является многогранником, следовательно множество X* конечно. Тогда выпуклое множество Xz так же является многогранником, а следовательно, имеем, что Xz можно задать конечным числом линейных неравенств.

Чтобы подчеркнуть основное отличие множества Xz от множества X, дадим следующее определение.

Определение 1. Многогранник, все крайние точки которого целочисленны (т.е. все их координаты целые числа), называются целочисленным многогранником.

Очевидно, что многогранник Xz - целочисленный, по скольку его крайними точками являются лишь точки множества X* целочисленных планов.

Оправданием для изучения соответствия X®Xz является следующий простой факт.

Теорема 1. Любой оптимальный опорный план задачи линейного программирования является решением задачи (1.1)-(1.3).

Доказательство. Пусть `x* - оптимальный опорный план задачи (2.1), x* - какое то решение исходной задаячи (1.1)-(1.3). `x*ÎXzÍX, то

С другой стороны, так как x* - целочисленный план, то x*ÎX*ÍXz, и поэтому

Доказательство теоремы закончено.

Подчеркнем, что теорема 1 утверждает лишь принципиальную возможность сведения решения задачи целочисленного линейного программирования к поиску опорных планов задачи линейного программирования вида (2.1). Основная трудность в использовании этой возможности состоит в явном задании многогранника Xz системой линейных неравенств с тем, что бы затем применить для решения задачи (2.1) численные методы линейного программирования. Вероятнее всего, что в вычислительном отношении эта проблема столь же сложна, как и исходная задача поиска оптимального целочисленного плана.

Изложим идею методов отсечения. Допустим, что удалось построить последовательность Lr>, r = 0, 1, 2, …, задач линейного программирования, каждая из которых определяется своим многогранником Xr и одной для всех целевой функцией :

при чем эта последовательность задач обладает следующими свойствами:

) X0=X, т.е. в качестве X0 берется множество планов задачи (1.1),(1.2);

) Xrz = Xz, r=1,2, …;

) если при решении задачи Lr полученный оптимальный вектор xr* не удовлетворяет условию целочисленности, то он не является планом задачи Lr+1, т.е. xr*ÏXr+1.

Отметим, что если на каком то шаге r вектор xr* - решение задачи Lr - оказался целочисленным, то он является решением исходной задачи (1.1)-(1.3) в силу свойства 2) последовательности Lr.

Интуитивно ясно, что последовательное построение задач Lr, r=1,2, …, дает в некотором смысле аппроксимацию множества Xz с помощью множества Xr.

Способы построения последовательности Lr>, обеспечивают конечность процесса решения задачи (1.1)-(1.3), были впервые предложены Гомори.

3. Описание метода Гомори

Рассмотрим теперь алгоритм Гомори для решения целочисленных задач линейного программирования. Этот метод принадлежит к числу методов отсечения и реализует идеи, изложенный в предыдущем пункте.

3.1 Понятие правильного отсечения и простейший способ его построения

алгоритм гомора линейное программирование

Введем правильного отсечения, которое лежит в основе многих численных методов решения целочисленных задач линейного программирования.

Определение 2. Пусть x* - оптимальный план задачи (1.1), (1.2), не являющийся целочисленным. Неравенство

где g = (g1, g2, …, gn), называется правильным отсечением, если оно удовлетворяет требованиям:

а) для вектора x* неравенство не выполняется, т.е. > g0 (условие отсечения).

б) если x - целочисленный план задачи (1.1), (1.2) ( т.е. план задачи (1.1)-(1.3)), то x - удовлетворяет (3.1) (условие правильности).

Понятно, что добавление неравенства (3.1) к условиям (1.1), (1.2) сужает допустимое множество

Следуя общей схеме методов отсечения, решим (£, C) – задачу (11, 12, 14), соответствующую (£ ц , C) – задаче (11–14). Пусть x(£, C) – ее оптимальное решение. Проанализируем координаты x(£, C) на целочисленность. Если все координаты вектора x(£, C) целые, то x(£, C) = x(£ ц , C). Если хотя бы одна координата, пусть xi, будет нецелой, поступим следующим образом.

Обозначим через N совокупность небазисных переменных и на основании последней симплексной таблицы запишем разложение xi по небазисным переменным xi, jÎN


(16)

Так как xi – нецелая величина, обозначим ближайшее целое число, не превосходящее xi, через [xi] и определим дробную часть: i>= xi- [xi]. Очевидно, (xi)>0.

Покажем, что по i-и строке симплексной таблицы (£, C) – задачи (в которой стоит нецелая координата решения) можно определить дополнительное линейное ограничение, обладающее свойствами правильности.


Теорема. Пусть - допустимое решение (£ ц , C) – задачи, тогда соотношения


, (17)

, - целое,

определяют правильное отсечение.

Запишем выражение (16) в виде:


Используя для этого выражения формулу (17), получим:



На основании предположений теоремы о допустимости решения


(£ ц , C) – задачи xi – целое. Величины [xio], - целые по определению, следовательно, zi – тоже целое.

Итак, zi определенное формулой (17), целое. Докажем что . Доказательство будем вести от противного. Пусть .-

Это значит, что . По определению дробной части . По условию теоремы x – допустимое решение (£ ц , C) – задачи, поэтому . Следовательно,


Тогда должно выполняться:



Итак, из предположения отрицательности zi, сразу же получаем т.е. zi – нецелое. Поскольку ранее было показано, что zi, определенное формулой (17), является целым, то тем самым мы пришли к противоречию. Следовательно, предположение, что zi ц , C) – задачи, не удовлетворяет условию правильного отсечения (17).

Доказательство. Пусть х (£, C) – оптимальное решение (£, C) – задачи, xi0 – дробное.


Покажем, что х (£, C) не удовлетворяет условию отсечения. Поскольку план оптимален, все небазисные переменные xi, для jÎN равны нулю. Поэтому . Учитывая это, подставим xio в формулу (17):

zi(x (£, C))= – i0>+0 ц , C) – задачи, и обозначим (£k, C). При этом (£0, C) – задача соответствует (£, C) – задаче (задаче без требования целочисленности).

Переменную zi, которая определяется дополнительным линейным ограничением (7) и строится по некоторой нецелочисленной координате оптимального решения (£k, C) – задачи (k =0, 1, 2,…) обозначим xn+k+l.

Чтобы размерность последовательности (£k, C) – задач не возрастала, вычеркнем из симплекс-таблицы переменную, по которой построено дополнительное линейное ограничение.

После сделанных замечаний перейдем непосредственно к изложению вычислительной схемы.

1. Решим (£k, C) – задачу (вначале k = 0) методом последовательного улучшения плана.

Пусть в базис оптимального решения вошли векторы As1,…, Asm. Параметры последней симплексной таблицы обозначим через xij:


.


Если, все базисные составляющие оптимального решения x(£k, C) (£k, C) – задачи целые, то x(£k, C) = x(£ ц , C). Если некоторая координата xio оптимального решения x(£k, C) нецелая, то перейдем к п. 2.

2. Если среди совокупности координат оптимального решения x(£k, C) имеется единственная нецелая координата, то дополнительное линейное ограничение (17) строится по этой координате. Если нецелых координат в x(£k, C) более одной, то выберем координату с наименьшим номером. Пусть ею оказалась xi0. Составим дополнительное линейное ограничение


(18)


(19)

3. Добавим условия (18, 19) к условиям (£k, C) – задачи. Получим новую (£k+1, C) – задачу. Так как оптимальное решение x(£k, C) (£k, C) – задачи определяло одну из вершин многогранника условий, то оно может быть выбрано в качестве первоначального опорного решения для вновь полученной задачи. А это означает, что последнюю симплексную таблицу (£k, C) – задачи можно взять в качестве исходной для (£k+1, C) – задачи, дополнив ее условием (18).

Итак, симплексная таблица для (£k+1, C) – задачи получается из последней симплексной таблицы для (£k, C) – задачи путем окаймления (i+1) – й строкой с элементами:




где – небазисные переменные (£k, C) задачи.


Получим новую задачу, переменными которой являются . Условия этой задачи разрешены относительно xsl,…, xsm переменных и новой переменной xn+k+1, а линейная форма выражена через небазисные переменные (£k, C) – задачи. Так как мы занимаемся максимизацией F(x) и решение х* для (£k, C) – задачи оптимально, то все Di > 0. Поэтому процесс перехода к новому решению (£k+1, C) – задачи не может быть осуществлен по методу уточнения плана. В то же время и поэтому вектор А0 симплексной таблицы не является опорным решением для (£k+1, C) – задачи, так как решением называется вектор, все координаты которого неотрицательны и удовлетворяют условию принадлежности области £k+l. Поэтому назовем полученный вектор псевдорешением задачи (£k+1, C) и перейдем к дальнейшему преобразованию симплекс-таблицы.

Обозначим через k номер псевдорешения (£k, C) – задачи; тогда направляющей строкой является i+k+1-я строка, k =0, 1, 2,…. Поэтому на каждом этапе преобразования таблицы вектор Ai+k+i будет выводиться из таблицы. Можно доказать, что через конечное число шагов либо будет найдено целочисленное решение, либо будет обнаружена ее неразрешимость, а тем самым неразрешимость (£ ц , C) – задачи.

Если решение (£k, C) – задачи завершается построением оптимального целочисленного решения x*, то m, первых его компонент определяют решение целочисленной задачи; если среди координат х* есть дробные, то одна из дробных компонент (ранее определенным правилом) порождает дополнительное ограничение и процесс решения должен быть продолжен с новой окаймляющей строкой. Строка, используемая ранее для окаймления, вычеркивается и больше для построения расширенных задач не восстанавливается.

Процедуру решения (£k, C) – задачи (k=0, 1,…) и анализа полученного решения назовем большой итерацией. Номер большой итерации совпадает с номером решаемой (£k, C) – задачи.

Результатом большой итерации является переход к новой (£k+1, C) – задаче либо окончание решения задачи.

Сделаем некоторые пояснения к блок-схеме алгоритма.


Введем: 1) ячейку i, в которой будем запоминать номер строки, на основании которой строится очередное дополнительное линейное ограничение, 2) счетчик r, соответствующий номеру проводимой большой итерации. Обозначим x*(£ r , C) оптимальное решение (£ r , C) – задачи. Заметим, что обозначение (£ r , C) – задача, эквивалентное (£r, C), введено в блок-схеме для удобства записи.

При некоторых условиях удается доказать теорему о конечности первого алгоритма Гомори, которую мы приведем без доказательства.

Теорема. Пусть множество оптимальных планов задачи (£0, C) ограничено и выполняются следующие условия:

1) сi – целые коэффициенты целевой функции F(x) (i =1,2,…, n), строка целевой функции в симплексной таблице учитывается при выборе строки для построения правильного отсечения;


2) справедливо одно из двух утверждений: либо целевая функция ограничена снизу на Сo, либо задача (£ ц , C) имеет хотя бы один план х'.

Рассмотрим алгоритм решения задачи линейного целочисленного программирования этим методом.
Решаем задачу симплексным методом без учета условия целочисленности. Если все компоненты оптимального плана целые, то он является оптимальным и для задачи целочисленного программирования. Если обнаруживается неразрешимость задачи, то и неразрешима задача целочисленного программирования.
Если среди компонент оптимального решения есть нецелые, то к ограничениям задачи добавляем новое ограничение, обладающее следующими свойствами:
- оно должно быть линейным;
- должно отсекать найденный оптимальный нецелочисленный план;
- не должно отсекать ни одного целочисленного плана.

Прикрепленные файлы: 1 файл

Курсовая матем методы.doc

Если первое найденное базисное решение окажется недопустимым, то с помощью симплексного метода осуществляется переход к другим базисным решениям, которые приближают нас к области допустимых решений, пока на каком-то шаге решения либо базисное решение окажется допустимым и к нему применяют алгоритм симплексного метода, либо мы убеждаемся в противоречивости системы ограничений.

Таким образом, применение симплексного метода распадается на два этапа: нахождение допустимого базисного решения системы ограничений или установление факта ее несовместности; нахождение оптимального решения.

2) Графический метод-основан на геометрической интерпретаци и задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трёхмерного пространства, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трёх изобразить графически вообще невозможно.

В случае двухмерной задачи проблема решается относительно просто путем выявления всех целочисленных точек, близких к границе множества планов, построения выпуклого множества планов, содержащего все целочисленные планы и решения задачи над этим множеством.

B общем случае выдвигается идея последовательного отсечения нецелочисленных оптимальных планов: обычным симплексным методом отыскивается оптимальный план и, если он нецелочисленный, строится дополнительное ограничение, отсекающее найденный оптимальный план, но не отсекающее ни одного целочисленного плана.

Эта идея, принадлежащая Д. Данцигу и Р. Гомори, впервые была представлена в форме дополнительного ограничения:
(3.1)
(сумма небазисных компонент оптимального плана должна быть отлична от нуля; хотя бы одна из небазисных компонент должна быть ненулевой). В самом деле, оптимальный план с нулевыми значениями небазисных компонент этому условию не удовлетворяет, что подтверждает отсечение этого плана от исходного множества.

3 Описание выбранного алгоритма

Метод Гомори -алгоритм, который используется для решения полностью целочисленных задач линейного программирования. Алгоритм включает в себя:

  1. Решение задачи одним из методов группы симплекс-методов или группы методов внутренней точки без учёта требования целочисленности. Если полученное оптимальное решение целочисленно, то задача решена.
  2. Составляется дополнительное ограничение для переменной , которая в оптимальном плане имеет максимальное дробное значение, хотя должна быть целой.

Метод Гомори получил своё название по имени математика, первым разработавшим в 1957-1958 годах алгоритм, до сих пор широко используемый для решения целочисленных задач линейного программирования. Каноническая форма задачи целочисленного программирования позволяет доступно и в полном объёме раскрыть преимущества этого метода.

Метод Гомори применительно к линейному программированию существенно усложняет задачу нахождения оптимальных значений. Ведь целочисленность является основным условием, дополнительно ко всем параметрам задачи. Нередки случаи, когда задача, имея допустимые (целочисленные) планы, при наличии у целевой функций ограничений на допустимом множестве, в решении не приходит к достижению максимума. Это происходит по причине отсутствия именно целочисленных решений. Без этого же условия, как правило, в виде решения находится подходящий вектор.

Используя метод Гомори, обычно считают множество планов задачи ограниченным так называемым многогранником решений. Исходя из этого следует, что множество всех целочисленных планов для поставленной задачи имеет конечное значение.

Также для гарантированности целочислености функции предполагают, что коэффициенты значений также являются целыми числами. Невзирая на строгость таких условий, послабить их удаётся на немного.

Метод Гомори, по сути, предполагает построение ограничений, которые отсекают решения, не являющиеся нецелочисленными. При этом не происходит отсечения ни одного решения целочисленного плана.

Алгоритм решения задачи включает в себя нахождение подходящих вариантов симплексным методом, не принимая во внимание условий целочисленности. Если во всех компонентах оптимального плана присутствуют решения, относящиеся к целым числам, то можно считать, что цель целочисленного программирования достигнута. Возможно, что обнаружится неразрешимость задачи, так мы получаем доказательство того, что задача целочисленного программирования не имеет решения.

4 Средства решения задачи

Borland Delphi представляет собой средство разработки приложений для Microsoft Windows. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI), или 32-битных консольных приложений (программ, которые не имеют графического интерфейса).
В сочетании с Borland Kylix, программисты Delphi могут создавать из одного исходного текста приложения и для Windows и для Linux, и это открывает новые возможности и увеличивает потенциальную отдачу от усилий, вложенных в изучение Delphi. В Delphi используется кросс-платформенная библиотека компонентов CLX и визуальные дизайнеры для создания высокопроизводительных приложений для Windows, которые повторной компиляцей можно легко превратить в приложения для Linux.
Delphi является первым языком программирования, обладающим простой в использовании средой для быстрой разработки приложений, разрушающей барьеры между языками высокого уровня, и языками, на низком уровне разговаривающими с системой на языке битов и байтов.
При создании графического интерфейса приложений Delphi, у вас все возможности языка программирования Object Pascal, "завернутого" в среду RAD. Такие компоненты окна графического пользовательского интерфейса, как формы, кнопки и списки объектов, включены в состав Delphi. Это означает, что вам не нужно писать никакого кода при добавлении их в ваше приложение. Вы просто "кладёте" их на вашу Форму, как в графическом редакторе. Вы можете также добавить на Форму элементы управления ActiveX, для создания в считанные минуты специализированных программ таких, например, как веб-браузеры. Delphi позволяет разработчикам дизайна внедрять в интерфейс новые элементы и кодировать их события одним щелчком мыши.
Delphi поставляется в различных конфигурациях, настроенных на потребности различных предприятий. В Delphi вы можете писать программы для Windows быстрее и легче, чем это было возможно раньше.

Паскаль

Лучшим способом представить что такое Delphi является Object Pascal на основе визуальной среды разработки. Delphi основан на Object Pascal, языке, аналогичном объектно-ориентированному C++, а в некоторых случаях даже лучше. Для разработчиков не имеющих опыта работы в Паскале, Delphi имеет шаблоны своих структур на Паскале, что ускоряет процесс изучения языка.
Компилятор Delphi упаковывает приложения в компактные исполняемые файлы, причем нет необходимости в громоздких библиотеках DLL - большое удобство, я должен сказать.
Библиотека Visual Component Library (автономные бинарные части программного обеспечения, которые выполняют некоторые конкретные предопределенные функции), или VCL, Delphi является объектно-ориентированной базой. В этой богатой библиотеке вы найдете классы для таких визуальных объектов Windows как окна, кнопки и т.д., а также классы для пользовательских элементов управления таких как таймер и мультимедийный плеер, наряду с невизуальными объектами, такими как список строк, таблицы базы данных, потоки и т.д.

Базы данных

Delphi может получать доступ ко многим типам баз данных. Используя BDE (Borland Database Engine - механизм доступа к базам данных), формы и отчеты, которые вы создаете, получают доступ к локальным базам данных, таким как Paradox и DBase, сетевых баз данных SQL Server, InterBase, также как и SysBase, и любые источники данных, доступные даже через ODBC (открытая связь с базами данных).

Читайте также: