Translation not up to date
Decision Optimization modelinizle, aşağıdaki giriş ve çıkış veri tanıtıcılarını ve uzantı birleşimlerini kullanabilirsiniz.
Model tipi | Giriş dosyası tipi | Çıkış dosyası tipi | Yorumlar |
---|---|---|---|
cplex |
.lp .mps .sav .feasibility .prm .jar Java™modelleri için |
.xml .json Çıkış dosyasının adı solution olmalıdır |
Çıkış biçimi API kullanılarak belirtilebilir.
Çözüm, çakışma ve olurluk dosyaları için CPLEX biçimlerine ilişkin şemalar, cplex_xsds.zip arşivini Decision Optimization githubadresinden yükleyebilirsiniz. |
cpo |
.cpo .jar for Javamodelleri |
.xml .json Çıkış dosyasının adı solution olmalıdır |
Çıkış biçimi, çözme parametresi kullanılarak belirlenebilir. CPO modellerine ilişkin yerel dosya biçimi için bkz. CP Optimizer dosya biçimi sözdizimi. |
opl |
.mod .dat .oplproject .xls .json .csv .jar for Javamodelleri |
.xml .json .txt .csv .xls |
Çıkış biçimi giriş tipiyle tutarlıdır, ancak gerekirse çözüm parametresi kullanılarak belirtilebilir. Veri bağlaçlarından yararlanmak için .csv biçimini kullanın.Yalnızca kayıt kümeleri ile tanımlanan modeller devreye alınabilir; diğer OPL yapıları desteklenmez. OPL ' de giriş ve çıkışı okumak ve yazmak için bkz. OPL modelleri. |
docplex |
.py *.* (giriş verileri) |
Modelde belirtilen herhangi bir çıkış dosyası tipi. | Python kodunuzda herhangi bir biçim kullanılabilir, ancak veri bağlayıcılarından yararlanmak için .csv biçimini kullanın.Python' da giriş ve çıkış okumak ve yazmak için |
- Veri tanıtıcısı kısıtlamaları
- Bir dosya adı aşağıdaki kısıtlamalara sahiptir:
- 255 karakterle sınırlıdır
- Yalnızca ASCII karakterleri içerebilir
/\?%*:|"<>
karakterleri, boşluk karakteri ya da boş değer karakteri içerilemiyor- İlk karakter olarak _ karakteri içerilemez
OPL veri biçimleri
tuple, dvar, minimize
(ya da maximize
) ve subject to
anahtar sözcüklerini kullanarak eniyileme sorununun kayıt düzenlerini, karar değişkenlerini, amaç işlevini ve kısıtlamalarını bildirir. Aşağıdaki örnek bir OPL modelinin özetini göstermektedir:tuple parameters {
int maxTrucks;
int maxVolume;
}
parameters Parameters = ...;
tuple location {
key string name;
}
{location} Hubs = ...;
tuple spoke {
key string name;
int minDepTime;
int maxArrTime;
};
{spoke} Spokes = ...;
dvar int+ TruckOnRoute[Routes][TruckTypeIds] in 0..Parameters.maxTrucks;
[...]
minimize TotalCost;
subject to {
[...]
}
OPL giriş verileri
Giriş verileri bir dış veri kaynağından doldurulabilir. OPL modellerine ilişkin giriş verileri aşağıdaki biçimlerden birinde sağlanabilir:
.dat
dosya- JSON belgesi
- Microsoft Excel çalışma defteri (
.xls
for Excel 2003 or.xlsx
for Excel 2007),.csv
dosyaları
- .dat dosyası
- Tüm OPL veri yapıları desteklenir. Örneğin,
{Parameters = <100, 5000>; Hubs = { <"G">, <"H"> }; Spokes = { <"A", 360, 1080>, <"B", 400, 1150> };
- JSON belgesi ya da Microsoft Excel çalışma defteri
- OPL modelinde giriş olarak yalnızca
tuples
vetuple sets
kullanabilirsiniz.Üye demeti alanları için desteklenen tipler şunlardır:
int
,float
ya dastring
.
- OPL öğesi, JSON özelliği ya da Excel çalışma sayfasıyla aynı ada sahip olmalıdır.
- Bir kayıt kümesine JSON özellik dizisi ya da çalışma sayfası yerleştirilebilir.
- Bir üye demeti öğesine bir JSON özellik nesnesi ya da tek bir satır Excel sayfası yerleştirilebilir.
Girişlerle ilgili sınırlama, veri kaynaklarıyla bütünleştirmeyi kolaylaştırmaktır. Örneğin, SQL veri kaynaklarına en az çabayla erişilebilir ve veri aktarılabilir; NoSQL veri kaynaklarına erişilebilir ve veriler otomatik olarak tablolara dönüştürülebilir. Gerekirse, eniyileme modeli geliştiricisi eniyileme sırasında diğer veri yapılarına veri yerleştirmek için verileri yeniden formüle edebilir, ancak bu işleme giriş ya da çıkış verilerini etkilememelidir.
JSON örneği
{
"Parameters": {
"maxTrucks": 100,
"maxVolume": 5000
},
"Hubs": [
{ "name": "G" },
{ "name": "H" }
],
"Spokes": [
{ "name": "A",
"minDepTime": 360,
"maxArrTime": 1080 },
{ "name": "B",
"minDepTime": 400,
"maxArrTime": 1150 },
. . .
}
Excel dosyası
.dat dosyası kullanmak yerine bir Excel dosyası kullanabilirsiniz. Bu seçenek, Excel dosyasının .dat
dosyasında dış kaynak olarak belirtilmesi gereken IBM ILOG CPLEX Optimization Studio ' dan farklıdır. Decision Optimization içinde Excel dosyası modele dahil edilmelidir ve bir .dat
dosyasından çağrılamaz.
OPL çıkış verileri
Çıktınız bir metin dosyasıysa, amaç işlevi ve karar değişkenlerinin değerleri yapılandırılmamış biçimde sağlanır.
Çıkış biçiminiz JSON, .csv
ya da Excel ise, art işleme öbeğinde istemciye geri aktarmak istediğiniz öğeleri tanımlamanız gerekir. Art işleme, .mod
dosyasındaki subject to
bölümünü izleyen tüm koddur. Bu nedenle, JSON, .csv
ya da Excel çıkışını tanımlamak için, art işlemde kayıt ya da kayıt kümelerini bildirmeniz gerekir.
.mod
dosyasının art işleme öbeğinde bildirme çıkış öğeleri varsa, Hiçbir çıkış verisi oluşturulmaz.
Aşağıdaki örnekte, çıkış dosyası Result
ve NbTrucksOnRouteRes
değerini ve hedef işlevini içerir; çünkü bu öğeler art işleme içinde tanımlanır.
subject to {
[...]
}
tuple result {
float totalCost;
}
result Result;
execute {
Result.objValue = cplex.getObjValue();
}
tuple nbTrucksOnRouteRes {
key string spoke;
key string hub;
key string truckType;
int nbTruck;
}
{nbTrucksOnRouteRes} NbTrucksOnRouteRes =
{<r.spoke, r.hub, t, TruckOnRoute[r][t]> | r in Routes, t in TruckTypeIds :
TruckOnRoute[r][t] > 0};