از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
هجده روز پیش منتشر شده
تعداد بازدید: 51
کد پروژه: 579316
شرح پروژه
سلام
این یکی از کد هایی که نوشتم
ولی ران نمیتونم انجام بدم
زیر R.modنمیاد متاسفانه
حتی فایل اصلی هم مثلا نمیتونم چجوری ببرم زیر R.modبعد بتونم یکی یکی فایل ها رو ران بگیرم
Nsample = 10;
Nlocus = 15;
f = [
[0.4 0.2 0.1 0.3 0 0.1 0.5 0.2 0 0.3 0.1 0.2 0.1 0.2 1]
[0.3 0.3 0.2 0.2 0.1 0 0.4 0.1 0.3 0.2 0.2 0.1 0.1 0.3 1]
[0.2 0.1 0.3 0.1 0.3 0.1 0.3 0.2 0.1 0.4 0.2 0.1 0.3 0.1 1]
[0.1 0.3 0.2 0.2 0.2 0.2 0.2 0.3 0.3 0.1 0.1 0.3 0.2 0.2 1]
[0.3 0.2 0.1 0.1 0.4 0.2 0.2 0.1 0.2 0.2 0.3 0.2 0.1 0.1 1]
[0.2 0.3 0.3 0.2 0.1 0.3 0.1 0.2 0.3 0.1 0.2 0.2 0.3 0.2 1]
[0.4 0.2 0.1 0.2 0.2 0.1 0.3 0.3 0.2 0.2 0.2 0.1 0.1 0.2 1]
[0.1 0.1 0.2 0.3 0.3 0.2 0.2 0.2 0.1 0.3 0.1 0.3 0.2 0.3 1]
[0.3 0.2 0.3 0.2 0.1 0.2 0.3 0.1 0.2 0.2 0.3 0.2 0.1 0.2 1]
[0.2 0.3 0.1 0.2 0.2 0.3 0.1 0.3 0.3 0.1 0.2 0.3 0.2 0.1 1]
];
z = [ [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] ];
* OPL 22.1.0.0 Model
* Author: NooraGP
* Creation Date: Jul 13, 2025 at 4:14:24 PM
*********************************************/
//using CP;
//parameters
int Nsample = ...;
int Nlocus = ...;
range sample = 1..Nsample;
range locus = 1..Nlocus;
float f[sample][locus] = ...;
int z[locus][locus] = ...;
//variables
dvar boolean x[locus][locus];
execute{
var s, t, tt, u, v;
for(s=1; s<=Nlocus; s++){
for(t=s+1; t<=Nlocus; t++){
for(tt=1; tt<=Nsample; tt++){
if(f[tt][s]<f[tt][t]){
z[s][t]=0;
break;
}
if(f[tt][s]>=f[tt][t]){
z[s][t]=1;
}
}
}
}
for(u=Nlocus; u>=1; u--){
for(v=u-1; v>=1; v--){
for(tt=1; tt<=Nsample; tt++){
if(f[tt][u]<f[tt][v]){
z[u][v]=0;
break;
}
if(f[tt][u]>=f[tt][v]){
z[u][v]=1;
}
}
}
}
}
tuple edge{
int i;
int j;
}
setof (edge) edges = {<i,j>| i in locus, j in locus: z[i][j]==1};
dexpr float F = sum(<j,k> in edges: j!=1)x[j][k];
maximize F;
subject to {
cons0:
sum(<Nlocus,k> in edges)x[Nlocus][k]==1;
cons1:
forall(<k,l> in edges: k!=Nlocus)
if(sum(<j,k> in edges: j!=Nlocus)z[j][k]>=1)
x[k][l]<=sum(j in locus: <j,k> in edges && j!=Nlocus)x[j][k];
cons2:
forall(k in locus: k!=Nlocus)
if(sum(<j,k> in edges)z[j][k]>=1)
sum(j in locus: <j,k> in edges)x[j][k]<=1;
cons3:
forall(p in sample, k in locus: k!=Nlocus)
if(sum(<j,k> in edges: j!=Nlocus)z[j][k]>=1 && sum(<k,l> in edges: k!=Nlocus)z[k][l]>=1)
sum(j in locus: <j,k> in edges && j!=Nlocus)f[p][k]*x[j][k] >= sum(l in locus: <k,l> in edges && k!=Nlocus)f[p][l]*x[k][l];
}
execute{
for(var i in locus)
for(var j in locus)
if(x[i][j]!=0)
writeln(i," ",j,";")
}
* OPL 22.1.0.0 Data
* Author: NooraGP
* Creation Date: Jul 13, 2025 at 4:14:24 PM
*********************************************/
Nsample = 3;
Nlocus = 7;
//sheetCooection file("R.xlsx");
//f from sheetReed(file, "sheet1!A1:G3");
//z from sheetReed(file,"sheet1!B8:H14");
f = [[0.2 0.7 0.1 0 0.3 0 1]
[0.4 0.3 0.5 0.1 0 0 1]
[0.1 0.8 0.2 0 0 0.4 1]];
z =[[]
[]
[]
[]
[]
[]
[]];
این پروژه شامل 3 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
4روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت دو سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار