-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!newsfeed00.su
l.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giganews.com!nx02.
iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neo
strada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "Karol_tom" <K...@w...pl>
Newsgroups: pl.comp.programming
Subject: [programowanie matematyczne]
Date: Fri, 7 May 2010 19:35:31 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6002.18005
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18005
X-Antivirus: avast! (VPS 100507-0, 2010-05-07), Outbound message
X-Antivirus-Status: Clean
Lines: 95
Message-ID: <4be44f61$0$19183$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.24.19.152
X-Trace: 1273253729 unt-rea-a-01.news.neostrada.pl 19183 83.24.19.152:55094
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:185538
[ ukryj nagłówki ]Witam, choć to może mało związane z takim prawdziwym programowaniem (Xpress
Mosel),
to na pewno siedzą tu ścisłe mózgi i może podpowiedzą mi, gdzie ten cholerny
błąd siedzi, bo
już z dwie godziny próbuję coś zmieniać w kodzie i nic nie wychodzi (ciągle
dostaje komunikat, że typy zmiennych są niekompatybilne):
model ModelName
uses "mmxprs";
parameters
!liczba oczyszczalni N
N=3
M=3
! liczba wariantów
v=6
end-parameters
declarations
oczyszczalnie=1..N
przekroje=1..M
warianty=1..v
! czy w danej oczyszczalni używamy danego wariantu?
y:array(oczyszczalnie, warianty) of mpvar
BZT:array(przekroje) of linctr
x:array(oczyszczalnie) of real
xwar:array(warianty) of real
q:array(oczyszczalnie) of real
Q:array(przekroje) of real
p:array(przekroje) of real
B:array(przekroje) of real
u:array(oczyszczalnie) of real
k:array(przekroje,przekroje) of real
kb:array(przekroje,przekroje) of real
c:array(oczyszczalnie) of real
cwar:array(warianty) of real
sumy:array(oczyszczalnie) of integer
t:array(przekroje,przekroje) of real
end-declarations
!
!
Q::[15, 18, 25]
q::[0.8, 0.7, 0.5]
p::[220, 250, 265]
B::[4, 4, 3]
xwar::[0.6, 0.7, 0.75, 0.8, 0.9, 0.95]
cwar::[10, 12, 13, 16, 22, 30]
!u to xmax
u::[0.85, 0.9, 0.9]
t::[0, 1, 3,
0, 0, 2,
0, 0, 0]
kb::[0, 0.25, 0.25,
0, 0, 0.27,
0, 0, 0]
forall (j in oczyszczalnie, z in warianty)
y(j,z)=0 or y(j,z)=1
!tylko w jednym miejscu dla danej oczyszczalnie jedynka, dlatego:
forall (j in oczyszczalnie) do
b(j):=(sum(z in warianty) y(j,z))
b(j)=1
end-do
j:=1
while j<=v do
x(j):=(sum(z in warianty) y(j,z)*xwar(z))
!wartości C
c(j):=(sum(z in warianty) y(j,z)*cwar(z))
end-do
forall (i in przekroje, j in przekroje)
k(i,j):=exp(-kb(i,j)*t(i,j))
!ograniczenia
forall (i in przekroje) do
BZT(i):=(sum(j in 1..i) (1-x(j))*p(j)*q(j)*k(j,i))/(Q(i)+sum(j in 1..i)
q(j))
BZT(i)<=B(i)
BZT(i)>=0
end-do
!ograniczenia dot. zakresu stopnia redukcji zanieczyszczen
forall (j in oczyszczalnie) do
x(j)>=0
x(j)<=u(j)
end-do
!Funkcja celu:
z:=sum(j in oczyszczalnie) c(j)*x(j)
minimize(z)
writeln("Niezbędne środki wynoszą: ", getobjval)
forall (i in przekroje) do
writeln(" Stopień redukcji w oczyszczalni nr (",i,") wynosi
",getsol(x(i)))
writeln(" BZT (",i,") wynosi ",getsol(BZT(i)))
end-do
end-model
Następne wpisy z tego wątku
- 07.05.10 18:58 Karol_tom
- 09.05.10 21:35 Mariusz Marszałkowski
- 10.05.10 09:42 p...@p...onet.pl
- 10.05.10 15:32 Wit Jakuczun
- 10.05.10 15:33 Wit Jakuczun
- 10.05.10 18:55 Mariusz Marszałkowski
- 10.05.10 19:15 Mariusz Marszałkowski
- 11.05.10 07:29 Wit Jakuczun
- 11.05.10 14:29 Mariusz Marszałkowski
- 12.05.10 07:09 fir
- 12.05.10 08:41 Mariusz Marszałkowski
- 13.05.10 07:40 fir
- 13.05.10 08:21 Mariusz Marszałkowski
- 04.06.10 19:22 Michal
- 04.06.10 23:46 Mariusz Marszałkowski
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]
- 2025-01-17 Warszawa => Inżynier oprogramowania .Net <=
- 2025-01-17 Natalia z Andrychowa
- 2025-01-17 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-17 Warszawa => System Architect (Java background) <=
- 2025-01-17 Warszawa => Full Stack .Net Engineer <=
- 2025-01-17 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-17 Lublin => Programista Delphi <=
- 2025-01-17 Warszawa => Developer .NET (mid) <=
- 2025-01-17 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-17 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-17 Wróblewo => Analityk finansowy <=
- 2025-01-17 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-17 pradnica krokowa